3

大きな写真を分割して参加する小さなプログラムを作りました。「Microsoftペイント」で作成した画像をインポートすると、この画像は「96 dpi」なので、プログラムは正常に動作します。

しかし、Photoshopで作成した画像の解像度は71.6 dpiです。これらの画像をトリミングすると、新しいトリミングされた画像の解像度は96 dpiになるため、サイズはそれらの間で異なります。

解像度を維持したまま画像をトリミングしたい。

どうもありがとうございます

4

3 に答える 3

6

Bitmap.clone画像のトリミングされたコピーを作成し、保存することができます。解像度などは変更しないでください(画像が小さいときにズームインするプログラムで開くと、画像が大きく見えます)。キャンバスを拡張するために使用することはできません(メモリ不足エラーが発生します)。したがって、fromファイルを取得し、(名前空間)Imageにキャストし、それを小さくクローンしてから保存します。Bitmapsystem.drawing

例:

using System.Drawing;
//...
Bitmap x = (Bitmap) Image.FromFile(@"c:\tmp\food.png");
Image x2 = x.Clone(new Rectangle(25, 25, 50, 50), x.PixelFormat);
x2.Save(@"c:\tmp\food2.png");
于 2009-05-13T15:24:43.990 に答える
3

DPI(dots per inch)は、ピクセルサイズとメディア上のサイズの関係にすぎません。1024 x 768ピクセルの画像がある場合、それは1024x768です。ビットマップ/バイナリファイルに添付された固有のDPIはありません。

300 dpiで印刷するプリンタでその画像を印刷する場合は、たとえば、用紙のサイズを計算できます。

于 2009-05-13T10:22:30.567 に答える
1

BitmapクラスのSetResolution()メソッドを使用すると、画像の解像度を指定できます。

http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.setresolution.aspxを参照してください

于 2009-05-13T15:22:11.000 に答える