增加一个看不见的图像印在C#?
题
我想插入多看不见的水印入我的JPEG图片通过C#代码。这意味着,我需要一个.网图书馆,做这项工作,而不是一些外部批应用程序。
任何建议?
解决方案
有难懂的库来C#中的端口,并且其可以容易地执行对您该操作...
其他提示
在图片存储“看不见的”的数据被称为“隐写术”。象谷歌搜索“隐秘.NET”产量这篇文章作为它的顶部命中 - 可能证明是有用的
。什么是这样做的目的?难道,使您能够识别已经从您的网站采取JPG文件?
在评论回应:“是的,我想通过使用一些稳健和不可见的水印来保护我的图片半可见网站的标志是不是一个选项...”
问题是恰恰在隐写术的讨论上述的一个,做与图像的鲁棒性。
任何水印像一个你描述可以用来识别整个图像的直接复制,但有一个jpg在我看来,如果它已打开,并在编辑器中保存再次有变化的机会在压缩影响的水印。此外,如果有人在偷你的形象,做一些更广泛的与色彩平衡它 - 补锅匠,裁剪了一点等等似乎不太可能,任何隐形水印将强大到足以生存并保持recogniseable。
不幸的是我没有一个解决方案在这里,但问题本身是远离琐碎。这可能是值得寻找其他的办法吧,你可以在平行或者使用带有水印(自定义元数据吧?防止图片被轻易保存?),使其更难被窃取你的图像或使他们,如果他们不值钱是...
此文章devx.com包含源代码库(隐秘)可以使用:
执行该API后,它的 琐碎隐藏内部的一个消息 .bmp文件:
ICoverFile cover = new BMPCoverFile("cover.bmp");
cover.CreateStegoFile("stego.bmp","Hello","MyPwd");
同样地,可以提取消息 很容易地:
IStegoFile stego = new
BMPStegoFile("stego.bmp","MyPwd");
Console.WriteLine(stego.HiddenMessage);
更新:哦,对不起。马特链接到同一篇文章...没有看到,在写这个答案。的
如果这是一个重要的应用程序的工作,为什么不想付费服务?
Digimarc 和 Signumtech 可以给你这样的支持使用它们的软件开发工具包。
不隶属于 StackOverflow