DOBON.NETプログラミング道掲示板

■35331 / 10階層)  複数のPictureBox画像を複数のファイルへ保存したい
□投稿者/ 魔界の仮面弁士 大御所(1519回)-(2023/01/16(Mon) 16:14:25)
  • アイコン2023/01/16(Mon) 16:30:46 編集(投稿者)

    No35330に返信(ま〜さんの記事)
    > テスト的にやって見た所。下記の2行目でエラーとなります。まさに沼です
    >   Me.PictureBox1.Image = Image.FromFile(PicturePath & "MojiGAZou1.bmp")
    >   Me.PictureBox1.Image.Save(PicturePath & "MojiGAZou1.bmp", System.Drawing.Imaging.ImageFormat.Bmp)

    先の No35322 で紹介した通り、 Image.FromFile がファイルをロックしているためです。


    '駄目な例1
    PictureBox1.Image = Image.FromFile(bmpFile)
    'System.Runtime.InteropServices.ExternalException: 'GDI+ で汎用エラーが発生しました。'
    PictureBox1.Image.Save(bmpFile, System.Drawing.Imaging.ImageFormat.Bmp)


    '駄目な例2
    PictureBox1.Image = Image.FromFile(bmpFile)
    PictureBox1.Image.Dipose()
    'System.ArgumentException: '使用されたパラメーターが有効ではありません。'
    PictureBox1.Image.Save(bmpFile, System.Drawing.Imaging.ImageFormat.Bmp)


    '★修正例★
    PictureBox1.Image = Image.FromStream(New MemoryStream(File.ReadAllBytes(bmpFile)))
    PictureBox1.Image.Save(bmpFile, System.Drawing.Imaging.ImageFormat.Bmp)


    '駄目な修正例1
    PictureBox1.Image = Image.FromStream(New MemoryStream(File.ReadAllBytes(bmpFile)))
    PictureBox1.Image.Dipose()
    'System.ArgumentException: '使用されたパラメーターが有効ではありません。'
    PictureBox1.Image.Save(bmpFile, System.Drawing.Imaging.ImageFormat.Bmp)


    '駄目な修正例2
    Using stm As New FileStream(bmpFile, FileMode.Open, FileAccess.Read)
     PictureBox1.Image = Image.FromStream(stm)
    End Using
    PictureBox1.Image.Save(bmpFile, System.Drawing.Imaging.ImageFormat.Bmp)


    '駄目な修正例3
    Using stm As New MemoryStream(File.ReadAllBytes(bmpFile))
     PictureBox1.Image = Image.FromStream(stm)
    End Using
    PictureBox1.Image.Save(bmpFile, System.Drawing.Imaging.ImageFormat.Bmp)



    追記:こういう手もあるかな。

    Using img = Image.FromFile(pngFile)
     PictureBox1.Image = New Bitmap(img)
    End Using
    PictureBox1.Image.Save(pngFile, System.Drawing.Imaging.ImageFormat.Bmp)

    上記は、 No8405 のスレッドの "中 博俊" さん( No8447 )の案です。
    >>> New Bitmap(bmp)
    >>> で、新しいBitmapにコピーされますよ。
    >>>
    >>> ただし全てがコピーされるわけじゃなくってDPIが保持されないとか、現在のページだけ(マルチページな画像の場合)とかやや違いはありますが。
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[9]: 複数のPictureBox画像を複数のファイルへ保存したい /ま〜 →Re[11]: 複数のPictureBox画像を複数のファイルへ保存したい /ま〜
 
上記関連ツリー

Nomalアイコン PictureBoxの画像を連続保存 / ま〜 (23/01/10(Tue) 19:41) #35316
Nomalアイコン Re[1]: PictureBoxの画像を連続保存 / 魔界の仮面弁士 (23/01/10(Tue) 20:23) #35317
  └Nomalアイコン Re[2]: PictureBoxの画像を連続保存 / ま〜 (23/01/11(Wed) 13:59) #35318
    └Nomalアイコン Re[3]: PictureBoxの画像を連続保存 / 魔界の仮面弁士 (23/01/11(Wed) 14:06) #35319
      └Nomalアイコン Re[4]: PictureBoxの画像を連続保存 / ま〜 (23/01/11(Wed) 16:06) #35320
        └Nomalアイコン Re[5]: PictureBoxの画像を連続保存 / ま〜 (23/01/11(Wed) 16:49) #35321
          └Nomalアイコン Re[6]: PictureBoxの画像を連続保存 / 魔界の仮面弁士 (23/01/11(Wed) 17:36) #35322
            └Nomalアイコン Re[7]: 複数のPictureBox画像を複数のファイルへ保存したい / ま〜 (23/01/12(Thu) 14:13) #35323
              └Nomalアイコン Re[8]: 複数のPictureBox画像を複数のファイルへ保存したい / 魔界の仮面弁士 (23/01/12(Thu) 16:00) #35324
                └Nomalアイコン Re[9]: 複数のPictureBox画像を複数のファイルへ保存したい / ま〜 (23/01/16(Mon) 14:20) #35330
                  └Nomalアイコン 複数のPictureBox画像を複数のファイルへ保存したい / 魔界の仮面弁士 (23/01/16(Mon) 16:14) #35331 ←Now
                    └Nomalアイコン Re[11]: 複数のPictureBox画像を複数のファイルへ保存したい / ま〜 (23/01/20(Fri) 12:55) #35340 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -