簡體   English   中英

從圖片框獲取圖像

[英]getting image from a picturebox

如何獲得在畫框上繪制的圖像? 在我的應用程序中,我用手繪圖創建了一個表單。但是我無法將繪制的圖像保存為文件,但出現錯誤消息“對象引用未設置為對象的實例”。我正在使用碼

me.picturebox1.image.save(filename,sysytem.....jpeg)

任何人都知道請幫助我...謝謝

我將假定您從不分配PictureBoxImage屬性,而是直接在從PictureBox控件檢索的Graphics對象上執行繪圖命令。 在這種情況下,執行繪圖時, Image屬性將保持Nothing / null 若要解決此問題,請在初始化PictureBox控件時將一個空圖像分配給Image屬性:

myPictureBox.Image =  New Bitmap(myPictureBox.ClientSize.Width, _
                                 myPictureBox.ClientSize.Height)

然后,當您要執行一些繪圖時,請使用ImageGraphics對象而不是PictureBox

Using g As Graphics = Graphics.FromImage(myPictureBox.Image)
    ' do the drawing '
End Using

使用這種方法,您只需在PictureBox.Image對象上調用Save就可以像在當前代碼中一樣保存圖像。

您的代碼似乎沒有本質上的錯誤(除非問題出在參數之一)。 PictureBox.Image.Save()確實有效!

PictureBox可能會顯示圖像,但是它所引用的Image對象已經被釋放。 您可以通過首先實現對可空性的檢查來擺脫對象引用錯誤:

If picturebox1.Image isnot Nothing Then
  ...
End If

另外,您應該檢查繪制Image的代碼...它是否按預期方式處理了引用?

我嘗試了類似的操作。

pictureBox1.Image.Save("C:\\tempStack.jpg", ImageFormat.Jpeg);

原因可能是未設置pictureBox1(非常不可能)或pictureBox1.Image。

采用

pictureBox1.Load("")

在嘗試保存之前加載圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM