私は Windows Mobile 6.1 のアプリケーションに取り組んでいます。ある時点で画像を表示するデバイス。ただし、時々、実行中にRAMの制限に遭遇します。
http://blog.opennetcf.com/ctacke/2010/10/13/LoadingPartsOfLargeImagesInTheCompactFramework.aspxのレシピを使用していましたが、最終的には解決策が得られませんでした。具体的にはCreateClipで画像全体を読み込む
GetFactory().CreateBitmapFromImage(image, info.Width, info.Height,
info.PixelFormat, InterpolationHint.InterpolationHintDefault, out original);
ここで OutOfMemoryException を受け取ります。
問題は、特定の領域だけを読み取り、残りの画像を破棄してメモリに保存しないようにするにはどうすればよいかということです。私が使用している画像形式はpngです。
私が必要としているものに最も近いのは、libpng の png_read_row です。1 行のバッファーを使用して、不要な行をすべて破棄し、実際に必要な行の一部を結果バッファーに抽出できるためです。それは有効な使い方ですか?どうすればそれができますか?