2016-05-29 44 views
0

我目前在澳大利亞高中的最後一年,我需要一些幫助,我的最終項目。長話短說我正在做一個密碼程序,將圖片的二進制數據隱藏在另一張圖片中(聽起來很激烈但不是真的)。我已經將數據隱藏在照片中,但是當我保存照片並嘗試將數據從其中取出時。你知道我做錯了什麼嗎?如何修復我對位圖圖像的保存問題?

我的代碼:

 pixelhColor = Seenbitmap.GetPixel(1, 1) 'Should return (255,3,0,0) with my test data and does 


     PictureBoxHidden.Image = Nothing 

     Nameoforigfile = Nameoforigfile.Substring(0, Nameoforigfile.Length-4) 
     Seenbitmap.Save(Nameoforigfile & " With Photo.bmp") 
     MessageBox.Show("The photo has been saved and your photo is encoded within.") 
     PBSfile.Image = PBS 

所以,就我所知道的,那就是一切都很好但是當我試圖讓出來的數據我使用保存在那裏的照片和該數據該像素使用getpixel()返回爲(255,0,0,0)。據我所知,保存文件存在問題。如果情況並非如此,那麼我不知道這件事會是什麼。你知道發生了什麼嗎?

+1

使用十六進制編輯器查看文件內容以縮小錯誤範圍。請注意,在標識符上使用駱駝事件會使它們更易於閱讀:'Nameoforigfile' - >'NameOfOriginalFile'。 – zaph

回答

0

我懷疑你的問題是原始圖像的原始格式使用一不可逆的壓縮算法和格式是當您使用Save方法只需要一個文件名中使用的一個。

Seenbitmap.Save(Nameoforigfile & " With Photo.bmp")

嘗試保存改變圖像爲位圖。

Seenbitmap.Save(Nameoforigfile & " With Photo.bmp", System.Drawing.Imaging.ImageFormat.Bmp)