iT邦幫忙

0

VB2008 PictureBox1.Image.Save問題 !

匿名 2013-07-26 11:59:036178 瀏覽

我在製作picturebox載入圖片與存出圖片時,儲存png檔案時載入存出都沒有問題,但是儲存jpg檔案時就會有出現錯誤無法存取

Private Sub Button1_Click(省略) Handles Button1.Click
PictureBox1.Load("c:\test1.png")
PictureBox2.Load("c:\test2.jpg")
End Sub

Private Sub Button2_Click(省略) Handles Button2.Click
PictureBox1.Image.Save("C:\test1.png")
PictureBox2.Image.Save("C:\test2.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
End Sub

想請教如何修正不能儲存JPG問題!!

2 個回答

12
ramonliu
iT邦新手 4 級 ‧ 2013-07-27 08:48:08
最佳解答

我記得好像是同一個檔案的原因, 儲存另一個檔名就行了, 另一個方式, 則是在
載入時動手腳, 不用 Image 裡的 Load, 改成如下:

<pre class="c" name="code">
  Dim bmpFile as Bitmap = Image.FromFile("C:\test2.jpg")
  Dim bmp as Bitmap = New Bitmap(bmpFile.Width, bmpFile.Height)
  Dim g as Graphic = Graphic.FromImage(bmp)

  g.DrawImage(bmpFile, 0, 0)
  bmpFile.Dispose()

  PictureBox2.Image = bmp

大致上這個意思, 憑印象中打的, 沒驗證過, 你可參考看看...

8
外獅佬
iT邦大師 1 級 ‧ 2013-07-26 13:06:43

PictureBox2.Image.Save(@"c:\test2.jpg",System.Drawing.Imaging.ImageFormat.Jpeg)

看更多先前的回應...收起先前的回應...
匿名 檢舉

@? 請問@有什麼意思嗎?

外獅佬 iT邦大師 1 級 ‧ 2013-07-27 04:51:31 檢舉

發生的原因不外乎
1、檔案或目錄的存取權限不足(包含嘗試寫入檔案的目錄不存在)
2、圖片格式無法轉換

gdi+泛型的問題,基本上與.net無關,所以我這麼回答。

外獅佬 iT邦大師 1 級 ‧ 2013-07-27 04:55:36 檢舉

再者,版主發問的時候並沒有提供任何錯誤訊息讓邦友們參考
有誰有辦法知道到底遇到了什麼問題?
我們只是平凡的it人,不是未卜先知的神人。謝謝

@? 請問@有什麼意思嗎?

@ 放在 string前面的好處不外乎:

  1. 不用處理跳脫字元, 可以直接表達語意. 例如本來"c:\\"意同 @"c:\"
  2. 不用加上折行處理

你這個問題, 只要用google 搜尋 .net @ before string
即可找到一堆解答

學著自己找答案, 不會很難.

wiselou提到:
平凡的it人,不是未卜先知的神人

不是平凡的獅子嗎驚毆飛

我要發表回答

立即登入回答