我需要将XML数据存储在只接受jpeg图像的服务器上。我想将我的XML数据写入有效的jpeg文件中。毕竟,除了JPEG标题,图像文件的内容是任意数据的权利?如何将自定义数据保存为C#中的有效jpeg图像
是否有可能产生一个有效的jpeg文件,但其“身体”填充自定义字节?
当然,我还需要能够解码自定义jpeg文件并恢复数据。
我不熟悉jpeg文件格式,所以我会很感激一个明确的例子。
我需要将XML数据存储在只接受jpeg图像的服务器上。我想将我的XML数据写入有效的jpeg文件中。毕竟,除了JPEG标题,图像文件的内容是任意数据的权利?如何将自定义数据保存为C#中的有效jpeg图像
是否有可能产生一个有效的jpeg文件,但其“身体”填充自定义字节?
当然,我还需要能够解码自定义jpeg文件并恢复数据。
我不熟悉jpeg文件格式,所以我会很感激一个明确的例子。
Uhmmm这是一个奇怪的建筑......但无论如何,我认为这个职位将是有益的: How to Add 'Comments' to a JPEG File Using C# 所以建议是添加数据为JPEG空白图像的元数据。
也许只是将数据附加到一个小的JPEG可以工作?
FWIW,你可以很容易地看到这个作品使用十六进制编辑器。只需创建一个小jpeg并将xml追加到最后。然后使用任何图像编辑器打开它。
这是做一个JPEG文件一个完全有效的事情:
如果你想添加数据的实际JPEG数据,首先要创建一个的BitmapSource与BitmapSource.Create,把你的数据在缓冲区参数中。比使用JpegBitmapEncoder将它保存为jpeg文件(例如here)。但是,据我所知,.net jpeg编码器不是无损的(即使您将其质量设置为100%),因此您需要一个可以对JPEG无损编码的第三方库。
我不知道JPEG的具体方式,但有一个PNG/GIF方法来编码任意数据和像素。看看这篇文章。有些网站允许您上传PNG和GIF重命名为JPEG,以便您可以尝试。 http://blog.nihilogic.dk/2008/05/compression-using-canvas-and-png.html
他正在保存javascript,但你可以使用和文本,真的。
我认为他的意思是直接用二进制图像数据编码XML数据(不适用于OCR处理) – 2011-02-02 15:47:33
我不想添加元数据,因为它可以被服务器访问,并且如果服务器显示它可能会使用户感到困惑。 – Frederic 2011-02-02 15:50:40