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

时间:2013-04-26 13:33:45

标签: c# winforms drawing

我正在创建一个继承自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;
}

所以我需要的是我猜的两种解决方案......

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

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