2011-02-02 58 views
2

我需要将XML数据存储在只接受jpeg图像的服务器上。我想将我的XML数据写入有效的jpeg文件中。毕竟,除了JPEG标题,图像文件的内容是任意数据的权利?如何将自定义数据保存为C#中的有效jpeg图像

是否有可能产生一个有效的jpeg文件,但其“身体”填充自定义字节?

当然,我还需要能够解码自定义jpeg文件并恢复数据。

我不熟悉jpeg文件格式,所以我会很感激一个明确的例子。

回答

2

Uhmmm这是一个奇怪的建筑......但无论如何,我认为这个职位将是有益的: How to Add 'Comments' to a JPEG File Using C# 所以建议是添加数据为JPEG空白图像的元数据。

+0

我认为他的意思是直接用二进制图像数据编码XML数据(不适用于OCR处理) – 2011-02-02 15:47:33

+0

我不想添加元数据,因为它可以被服务器访问,并且如果服务器显示它可能会使用户感到困惑。 – Frederic 2011-02-02 15:50:40

3

也许只是将数据附加到一个小的JPEG可以工作?

  • 创建一个小jpeg。
  • 将您的(模糊/加密的)XML附加到该文件。
  • 上传到服务器。

FWIW,你可以很容易地看到这个作品使用十六进制编辑器。只需创建一个小jpeg并将xml追加到最后。然后使用任何图像编辑器打开它。

这是做一个JPEG文件一个完全有效的事情:

Will random data appended to a JPG make it unusable?

0

如果你想添加数据的实际JPEG数据,首先要创建一个的BitmapSource与BitmapSource.Create,把你的数据在缓冲区参数中。比使用JpegBitmapEncoder将它保存为jpeg文件(例如here)。但是,据我所知,.net jpeg编码器不是无损的(即使您将其质量设置为100%),因此您需要一个可以对JPEG无损编码的第三方库。

相关问题