# Nonlinear-Image-Distortion-Tool **Repository Path**: createskyblue/Nonlinear-Image-Distortion-Tool ## Basic Information - **Project Name**: Nonlinear-Image-Distortion-Tool - **Description**: 图片非线性加扰工具;A local browser tool for nonlinear image distortion. It turns drawings, screenshots, and reference images into parameter-based nonlinear distorted versions, and can use the same parameter code for approximate restoration, simple privacy masking, and source checks. - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-06 - **Last Updated**: 2026-08-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图片非线性扰动工具 [English](./README.md) 一个在浏览器本地运行的图片非线性扰动工具。它可以把图纸、截图、资料图做成带参数的非线性扰动版本,也可以用同一个参数码尝试还原,方便做简单脱敏和来源确认。 ![界面截图](./img/CN.jpg) ## 它能做什么 - **加扰图片**:用密钥把图片做非线性变形,直接下载处理后的 PNG。 - **用参数码还原**:保存 `NO3:` 开头的参数码,之后用同一个参数码尝试还原。旧版生成的 `NO2:` 参数码仍然可以使用。 - **抗等比例缩放**:图片被放大或缩小后,再放进工具里仍然可以用同一参数码尝试还原。 - **粘贴自动处理**:复制截图后直接粘贴到页面,工具会自动按当前模式处理。 - **拖拽和拍照**:支持选择文件、手机拍照、拖拽图片进页面。 - **连续变模糊**:点“变模糊”会自动加扰再还原一次,可以连续点,让细节逐步变软。 - **自动复制结果**:可以打开“处理后自动复制结果”,处理完成后直接把结果图放到剪贴板。 - **记住上次设置**:页面会自动保存当前密钥和参数,下次打开继续使用。 ## 使用场景 - **设计稿和示意图预览**:向客户或外部伙伴展示 CAD 导出图、UI 设计稿、产品结构图时,可以先发加扰后的图片。对方能看懂布局和方向,但难以直接拿去作为正式素材使用。 - **内部资料轻量溯源**:为不同分享对象或讨论场景保留对应参数码。截图或预览图后续出现在别处时,可以用参数码辅助判断它是否来自某一次分享。 - **可逆的视觉脱敏**:截图里有客户名称、内部批注或敏感细节时,可以用轻度扰动让内容不易直接读取,同时保留用参数码近似还原的可能。 - **来源辅助证明**:如果某张图片疑似派生自你的原始材料,可以用已知参数码尝试还原。正确参数带来的更好还原效果可以作为证据链中的辅助信号,但不应单独当作司法级鉴定结论。 - **本地处理**:图片在浏览器里完成处理,不需要上传到远程服务。 ## 基本用法 1. 打开页面后,选择图片、拍照、拖拽图片,或者直接粘贴截图。 2. 选择“加扰”或“还原”模式。 3. 调整密钥、偏移强度、网格尺度和旋转扰动。 4. 保存参数码。以后还原时,粘贴这个参数码即可恢复同一组参数。 5. 点“处理”生成结果,确认后下载。 ## 参数码很重要 参数码就是这张图的“钥匙”。如果要之后还原或证明来源,请同时保存: - 处理后的图片 - `NO3:` 开头的参数码 只记住密钥不够,偏移强度、网格尺度、旋转扰动也必须一致。 ## 为什么不做水印? 这个项目刻意不加入明水印或暗水印。 暗水印最开始试过,但鲁棒性不够。只要图片经历缩放、压缩、截图、局部干扰,就很容易提取失败。对追踪来源来说,这种水印不够可靠。 明水印也不适合这个目标。哪怕先把明水印叠到图上,再用这个工具做非线性扰动,AI 去水印仍然可以比较轻松地把它擦掉,所以明水印的震慑和追踪价值都很有限。 真正有用的是非线性扰动本身。AI 可以擦文字、补背景、去标识,但很难把带密钥的非线性扰动 100% 还原成原图。因此参数码可以当作一种追踪钥匙:正确参数能明显更好地还原,错误参数很难得到同样的结果。 ## 运行 ```bash npm install npm run dev -- --host 127.0.0.1 --port 5288 ``` 构建生产版本: ```bash npm run build ``` ## 注意 还原不是逐像素无损恢复。图片经过加扰、缩放、压缩、截图后,都会有一些损失。这个工具的目标是:用正确参数码能明显更好地还原,用错误参数很难还原出相同效果。