在特定区域上绘制和调整图像大小

本文关键字:调整 图像 绘制 区域 | 更新日期: 2023-09-27 18:10:58

我正在创建一个控件,该控件继承自Windows.Forms.Panel,并且具有我想在其上绘制图像的特定区域。

这段代码在我想要的区域上绘制图像,但没有拉伸它。

private void PaintPanel(Graphics _g)
{
    _g.FillRegion(new SolidBrush(BorderColor), BorderRegion);
    _g.FillRegion(new TextureBrush(ContentImage), ContentRegion);
    regionNeedsRefresh = false;
}

这段代码在我想要的矩形上绘制图像,并拉伸它以适合矩形,但它没有在我想要的确切区域上绘制:

private void PaintPanel(Graphics _g)
{
    _g.FillRegion(new SolidBrush(BorderColor), BorderRegion);
    _g.DrawImage(ContentImage, ContentRegion.GetBounds(_g));
    regionNeedsRefresh = false;
}

所以我猜我需要的是两种解决方案的一点…

任何帮助将非常感激!

在特定区域上绘制和调整图像大小

您可以使用Graphics.DrawImage,只需在操作前后将Graphics对象的Clip属性设置为您想要绘制的Region