2012-04-09 85 views
0

我与MediaLibrary工作WP7,我上的BitmapImage(WriteableBitmap的)工作正常做隐写术(使用这种方法:http://www.codeproject.com/Articles/4877/Steganography-Hiding-messages-in-the-Noise-of-a-Pi的Windows Phone 7,信息隐藏和MediaLibrary.SavePicture

现在,当我打电话时出现问题MediaLibrary.SavePicture方法将我的位图保存到手机中。当我再次从手机加载这个保存的位图时,我可以看到位图的像素发生了偏移,隐写数据丢失了。 在保存方法中有没有办法避免这种行为?

更好的是,有没有办法将一些元数据附加到我的位图上,这些位图会与位图一起保存?

非常感谢! Leo

+0

你可以显示你用来保存位图的代码行吗?你如何产生你传入的流/字节数组? – 2012-04-09 20:50:06

回答

0

问题可能是由于MediaLibrary.SavePicture将流保存为JPEG,而您的字节流表示未压缩的位图。由于JPEG是一种有损压缩格式,因此您的数据可能会丢失,因此您的隐藏字节流将会损坏。我对隐写术不熟悉,但如果可能的话,您可以尝试创建一个空白的JPEG图像并将数据写入该图像。这样,您的图像格式保持不变。您可以尝试使用Extensions.SaveJpeg,其中quality值为100,将数据写入该数据,然后将其保存到MediaLibrary。