一种基于灰度值分离与像素交错的(伪)隐写图 - 显形与制作工具
- 新版 - prism.uyanide.com
- 新版 - Cloudflare Pages 部署 - mirage-decode.pages.dev
- 旧版 - prism-old.uyanide.com
- 旧版 - 单页面版本下载
新版 - 单页面版本下载(目前并不存在这种东西 🥲)
- Github Pages - tankfactory.github.io/Mirage_Decode
- Vercel - mirage-decode.vercel.app
以上两个链接均会(自动)跳转至 prism.uyanide.com, 已无必要继续使用
一看就懂,不懂也能用 :)
git clone https://github.com/Uyanide/Mirage_Decode.gitcd webyarn installyarn dev或yarn build
- 核心
- React
- Vite
- 框架
- Material UI
- Zustand
- 图像处理
- WebCodec API
- WebGL2 API
- Canvas API
- jpeg-js
- piexif.js
- pttjpeg
- 其他
- file-saver
- ...
并不是,使用图像编辑软件调整某些参数也可以达到显形的目的,详情参见百度贴吧 - 开个贴细说新式高科技坦克。
并不是,完全可以仅使用 ps 等图像编辑软件制作,详情参见同上。
请再次确认保存的是原图。如果您使用的是百度贴吧手机 app,请按以下步骤逐一排查:
- 请在保存图片前先点击图片进入大图模式,再长按图片,选择“查看原图”并等待加载完成,然后再长按保存。
- 如果仍然无效,可以复制帖子链接在浏览器里重新打开,下载或复制图片。
- 如果仍然无效,以防您的输入法不支持插入 emoji: 🔨
如果您使用的是百度贴吧电脑网页端,请确认在保存、复制或拖动图片前已点击图片跳转至大图页面,并确认在图片完全加载完成后再进行操作。
如果您是图片的制作者,请按以下步骤逐一排查:
- 请确认参数设置是否合理,例如里图色阶端点设置是否过低,对比度设置是否过于夸张。制作界面的显形测试可以帮助您检查这一点。
- 可尝试更换导出格式,有关 PNG/JPEG 的格式的区别详见 Q&A 第 6 条。
- 请确认在发送图片时勾选了“原图”选项。
- 如果使用的是百度贴吧,请确认在设置中关闭了图片水印。如果有水印百度会对图片进行二次处理,这可能会导致意料之外的图片压缩。
为了解决跨域问题,所有 URL 请求默认均通过代理进行,网络通信以及代理服务均可能发生异常,虽然我已经尽可能避免此类情况的发生,但仍然无法完全排除可能性。
此功能高度依赖本地浏览器环境,如果出现问题推荐更换浏览器重试。另外如果可以的话请通过 issue 或者其他任何方式告诉我您使用的浏览器。
- JPEG 格式为有损压缩,即便目前已经通过引入第三方库保证了较高的图像保存质量,保证不会因为 JPEG 压缩导致显形后出现明显色块,但仍然会不可避免地在显形时出现噪点等其他问题。
- PNG 格式虽然可以保证近乎无损的显形质量,但却极易被社交平台强制压缩,影响传输后的图像质量。且写入 tEXt 块的显形参数很容易丢失,这会使自动显形功能失效。
- JPEG 格式不支持透明度,因此当表图或里图为幻影坦克时不建议使用 JPEG 格式导出。
本工具的自动显形是通过写入图片元数据实现的,如果图片本身不具备元数据/传输过程中丢失元数据/解析图片时发生意料之外的错误便无法做到自动显形。1.3 版本后通过本工具制作的图片均会被自动写入生成时所使用的参数。
- Mirage:因为在最开始制作这个网站的时候这种隐藏图片的方法还没有被(广泛地)称作"光棱坦克",所以取另一种存在时间更长,流传更广的且与之类似的隐藏图技术"幻影坦克"的"幻影"作"Mirage"。
- Decode:这个网站最开始的开发目标只是帮助显形,后来考虑到无论使用 PS 制作还是使用脚本生成门槛都太高才加上了制作功能。
总之,这名字是最开始乱起的,后来因为种种不便也没办法改了。