2012-04-09 4 views
0

ich mit Media auf WP7 arbeite und ich Steganographie tue auf Bitmap (Writeablebitmap), die (mit diesem Ansatz: http://www.codeproject.com/Articles/4877/Steganography-Hiding-messages-in-the-Noise-of-a-Pi) funktioniert gutWindows Phone 7, Steganographie und MediaLibrary.SavePicture

Nun ist das Problem tritt auf, wenn ich rufe MediaLibrary.SavePicture-Methode, um meine Bitmap auf dem Telefon zu speichern. Wenn ich diese gespeicherte Bitmap erneut vom Telefon lade, kann ich sehen, dass die Pixel der Bitmap verschoben werden und meine Steganographie-Daten verloren gehen. Gibt es eine Möglichkeit, dieses Verhalten während der Speichermethode zu vermeiden?

Besser noch, gibt es eine Möglichkeit, einige Metadaten an meine Bitmaps anzuhängen, die mit der Bitmap beibehalten würden?

Vielen Dank! Leo

+0

Können Sie die Codezeile anzeigen, die Sie zum Speichern der Bitmap verwenden? Wie produzieren Sie das Stream/Byte-Array, das Sie übergeben? –

Antwort

0

Das Problem kann durch die Tatsache verursacht werden, dass MediaLibrary.SavePicture den Stream als JPEG speichert, während Ihr Bytestream eine unkomprimierte Bitmap darstellt. Da JPEG ein verlustbehaftetes Komprimierungsformat ist, werden Ihre Daten möglicherweise verworfen und Ihr versteckter Byte-Stream wird beschädigt. Ich bin nicht vertraut mit Steganographie, aber wenn möglich, könnten Sie versuchen, ein leeres JPEG-Bild zu erstellen und Ihre Daten dazu zu schreiben. Auf diese Weise bleibt Ihr Bildformat gleich. Sie könnten versuchen, Extensions.SaveJpeg mit einem quality Wert von 100 zu verwenden, die Daten in das schreiben und dann in der MediaLibrary speichern.