[英]How can I crop image without changing its resolution in C#.Net?
我做了一個小程序來分割大圖片並參與其中。 當我導入由“Microsoft Paint”制作的圖像時,此圖像為“96 dpi”,因此我的程序運行良好。
但我用Photoshop制作的照片,其分辨率為71.6 dpi,當我拍攝這些照片時,新裁剪的照片分辨率為96 dpi,所以它們之間的尺寸是差別。
。
非常感謝你
Bitmap.clone
允許您創建圖像的裁剪副本,然后可以保存。 它不應該改變分辨率或任何東西(如果你在一個程序中打開它時圖像看起來會更大,當圖像更小時放大更多)。 它不能用於擴展畫布(你將失去內存錯誤)。 因此,只需從文件中獲取一個Image
,轉換為Bitmap
,( system.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");
DPI(每英寸點數)只是像素大小與介質大小之間的關系。 如果您的圖像為1024 x 768像素,則為1024 x 768.位圖/二進制文件沒有固有的DPI。
如果要在300 dpi打印的打印機上打印該圖像,則可以計算紙張上的尺寸。
Bitmap類的SetResolution()方法允許您指定圖像的分辨率。
請參閱http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.setresolution.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.