我不是 100% 确定你在追求什么,但如果你正在寻找一种从对象string imagePath, Rectangle desiredPortion
到System.Drawing.Image
对象的方法,那么可能是这样的:
public System.Drawing.Image LoadImagePiece(string imagePath, Rectangle desiredPortion)
{
using (Image img = Image.FromFile(path))
{
Bitmap result = new Bitmap(desiredPortion.Width, desiredPortion.Height, PixelFormat.Format24bppRgb);
using (Graphics g = Graphics.FromImage((Image)result))
{
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
g.DrawImage(img, 0, 0, desiredPortion, GraphicsUnit.Pixel);
}
return result;
}
}
请注意,出于性能原因,您可能需要考虑一次构建多个输出图像,而不是多次调用它 - 可能将一个矩形数组传递给它并返回一个图像数组或类似数组。
如果这不是你所追求的,你能澄清你真正在寻找什么吗?