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

■34257 / 親記事)  DrawImage でメモリ不足エラー
  
□投稿者/ たけさん 一般人(1回)-(2019/05/16(Thu) 15:34:25)
  • アイコン環境/言語:[環境(Windows10 64bit)、使用言語(Visual Studio2013 VB.NET)] 
    分類:[.NET] 

    2つの画像の重なる箇所を画像として切り取り処理を行っています。
    350KBのファイルは問題ないのですが、32MBなどのファイルは、DrawImage でメモリ不足となってしまいます。
    ご教授宜しくお願い致します。


    Dim part As ePart = _parts.Parts(0)
    Dim 画像@ As RectangleF = New RectangleF(位置,サイズ)
    Dim 画像A As RectangleF = New RectangleF(位置,サイズ)
    Dim roiTrim As RectangleF = RectangleF.Intersect(画像@, 画像A)
    Dim dst As Bitmap = New Bitmap(幅, 高さ)
    Dim g As Graphics = Graphics.FromImage(dst)

    Dim B切り取る部分の範囲 As RectangleF
    Dim C描画する部分の範囲 As RectangleF

    g.DrawImage(part.Image, B切り取る部分の範囲, C描画する部分の範囲, GraphicsUnit.Pixel)
    trimImg = dst
    g.Dispose()
マルチポストを報告
違反を報告
引用返信 削除キー/
■34258 / ResNo.1)  Re[1]: DrawImage でメモリ不足エラー
□投稿者/ 魔界の仮面弁士 大御所(1227回)-(2019/05/16(Thu) 16:31:32)
  • アイコンNo34257に返信(たけさんさんの記事)
    > 350KBのファイルは問題ないのですが、32MBなどのファイルは、DrawImage でメモリ不足となってしまいます。

    メモリ不足となるのであれば、残念ながら GDI+ または実行環境の
    限界ということで、どうにもならないような気がします。

    それでなくとも、巨大なファイルを DrawImage すると
    パフォーマンスが目に見えて悪くなるという問題がありますし。
    https://dobon.net/vb/bbs/log3-39/23844.html


    駄目元で、OpenCV で読み込めないか試してみるのはどうでしょう。
違反を報告
引用返信 削除キー/
■34259 / ResNo.2)  Re[2]: DrawImage でメモリ不足エラー
□投稿者/ たけさん 一般人(2回)-(2019/05/16(Thu) 18:53:41)
  • アイコン
    ご回答ありがとうございました。
    参考になりました。限界という事で納得しました。
    OpenCVも試してみたいと思います。
違反を報告
引用返信 削除キー/
■34260 / ResNo.3)  Re[3]: DrawImage でメモリ不足エラー
□投稿者/ たけさん 一般人(3回)-(2019/05/16(Thu) 18:56:20)
  • アイコン
    解決とさせて頂きます。

解決み!
違反を報告
引用返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/


- Child Tree -