我在WP7上使用MediaLibrary,我在BitmapImage(WriteableBitmap)上进行隐写术,效果很好(使用这种方法:http://www.codeproject.com/Articles/4877/Steganography-Hiding-messages-in-the-Noise-of-a-Pi)
现在,当我调用MediaLibrary.SavePicture方法将我的位图保存到手机时会出现问题。当我再次从手机加载这个保存的位图时,我可以看到位图的像素被移位,我的隐写数据丢失了。 有没有办法在save方法中避免这种行为?
更好的是,有没有办法将一些元数据附加到我的位图中,这些位图将与位图一起保留?
非常感谢! 利奥
答案 0 :(得分:0)
问题可能是由于MediaLibrary.SavePicture
将流保存为JPEG而您的字节流表示未压缩的位图。由于JPEG是一种有损压缩格式,因此您的数据可能会被丢弃,因此您的隐藏字节流会损坏。我不熟悉隐写术,但如果可能的话,你可以尝试创建一个空白的JPEG图像并将数据写入其中。这样,您的图像格式保持不变。您可以尝试使用quality
100
值为{{1}}的{{3}},将数据写入该数据,然后将其保存到MediaLibrary。