gpt4 book ai didi

c# - Graphics.DrawPath 和 LinearGradientBrush 问题

转载 作者:行者123 更新时间:2023-11-30 20:43:37 24 4
gpt4 key购买 nike

关于我几周前问的这个问题

LinearGradientBrush does not render correctly

考虑以下代码:

protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);

Rectangle rect = new Rectangle(100, 100, 200, 100);
using(LinearGradientBrush brush = new LinearGradientBrush(rect, Color.Red, Color.Blue, 90))
{
using(Pen pen = new Pen(brush, 1))
{
pen.Alignment = PenAlignment.Inset;
e.Graphics.DrawRectangle(pen, rect);
}
}
}

产生这个结果...

Brush

为什么在应该是蓝线的地方出现了红线,我该如何解决这个问题?

Pen.Alignment = PenAlignment.Inset 无效!

最佳答案

笔(或图形绘制方法)倾向于在其边界之外绘制。我认为 Microsoft 认为这是一项功能,但我从未理解过。

尝试为笔使用较小的矩形:

using (var brush = new LinearGradientBrush(rect, Color.Red, Color.Blue, 90)) {
using (Pen pen = new Pen(brush, 1)) {
e.Graphics.DrawRectangle(pen, new Rectangle(rect.X, rect.Y,
rect.Width - 1, rect.Height - 1));
}
}

enter image description here

关于c# - Graphics.DrawPath 和 LinearGradientBrush 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30379183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com