我想裁剪圖像的底部25%,但我得到'內存不足'異常。我從我的代碼和研究中測試知道,由於我的座標超出範圍,這個例外純粹是拋出了。克隆,然後使用System.Drawing.Rectangle裁剪圖像返回'內存不足'異常
我有一個叫做bmp的圖片,它的寬度是400px,高度是250px。我用下面的代碼修剪它...
PixelFormat = bmp.PixelFormat;
Bitmap CroppedImage = bmp.Clone(new System.Drawing.Rectangle(0, 250, 400, 62), bmpFormat);
這給了我:'異常詳細信息:System.OutOfMemoryException:內存不足。
但是,如果我寫的代碼...
PixelFormat = bmp.PixelFormat;
Bitmap CroppedImage = bmp.Clone(new System.Drawing.Rectangle(0, 0, 400, 62), bmpFormat);
我的形象是從左上角向下裁剪(即我得到的前25%),這對我來說是沒有意義的,我這是肯定的我需要將高度設置爲-62而不是62來完成此操作。
如果有人能指出我對這個問題的答案,那就太好了!
從您的問題中不清楚您在通過超出範圍的座標時實際預期會發生什麼,或者爲何相關。缺乏良好的[mcve]會加劇這種缺乏清晰度的情況。但是,這聽起來有點像你在錯誤的印象中位圖座標系統將原點放在圖像的左下角。事實並非如此,並不適用於.NET上下文中的標準位圖。原點在左上方,Y座標向下增加。如果這還不足以讓你重新走上正軌,你將需要相當大的改善你的問題。 –