在C#中,使用System.Drawing
命名空間處理圖像裁剪的方法如下:
using System.Drawing;
using System.Drawing.Drawing2D;
public static void CropImage(Image originalImage, Rectangle cropArea, string outputPath)
{
// 創建一個新的Bitmap對象,用于存儲裁剪后的圖像
using (Bitmap croppedImage = new Bitmap(cropArea.Width, cropArea.Height))
{
// 使用原始圖像創建一個新的Graphics對象
using (Graphics g = Graphics.FromImage(croppedImage))
{
// 設置高質量插值模式以獲得更好的圖像質量
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
// 設置高質量的像素偏移模式
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
// 設置高質量的渲染模式
g.SmoothingMode = SmoothingMode.HighQuality;
// 繪制裁剪區域到新的Bitmap對象上
g.DrawImage(originalImage, new Rectangle(0, 0, croppedImage.Width, croppedImage.Height), cropArea, GraphicsUnit.Pixel);
// 保存裁剪后的圖像到指定的輸出路徑
croppedImage.Save(outputPath);
}
}
}
string inputPath = "path/to/input/image.jpg";
string outputPath = "path/to/output/image.jpg";
// 加載原始圖像
using (Image originalImage = Image.FromFile(inputPath))
{
// 定義裁剪區域
Rectangle cropArea = new Rectangle(50, 50, 200, 200);
// 調用CropImage方法進行裁剪
CropImage(originalImage, cropArea, outputPath);
}
這樣,你就可以使用C#的System.Drawing
命名空間處理圖像裁剪了。請注意,這個示例僅適用于JPEG文件,但你可以通過修改輸入和輸出路徑來處理其他圖像格式(如PNG、BMP等)。