gpt4 book ai didi

.net - 在 .net 中创建透明 Angular PNG

转载 作者:行者123 更新时间:2023-11-28 11:18:24 25 4
gpt4 key购买 nike

作为 UI .net 库的一部分,我需要创建 Angular PNG 图像以与 DIV 的 Angular 对齐,以便为其提供圆 Angular 。

我认为我可以通过执行以下操作创建一个动态 Angular 落:

  • 创建位图(假设为 25 x 25)
  • 填充背景绿色(我们为其创建这些 DIV 之外的颜色)
  • 调用 FillEllipse() 并创建一个 50 x 50 的圆,其中 25% 重叠到 25 x 25 位图中
  • 最后用相同的坐标调用DrawEllipse()绘制边框

这很好用并创建了一个 Angular 图像。

问题是我想将 FillEllipse() 调用的颜色设为 Color.Transparent。这样 DIV 就可以通过样式分配背景颜色。

但是因为 FillEllpise() 在彩色背景上创建了一个透明圆圈,所以什么也不会出现。

总结:如何打出透明孔?

我认为 ExcludeClip() 会有所帮助,但这似乎只能处理 Recentangles。

最佳答案

这个有效:

Dim bmp As New Bitmap(25, 25)

Using g As Graphics = Graphics.FromImage(bmp)
g.Clear(Color.Transparent) 'This is the key point'
g.FillEllipse(Brushes.Red, New Rectangle(0, 0, 50, 50))
g.DrawEllipse(Pens.Black, New Rectangle(0, 0, 50, 50))
End Using

bmp.Save("C:\a\out.png", Imaging.ImageFormat.Png)

编辑:该死的,错过阅读问题,给我一秒钟更改代码...

编辑 2:完成,你需要的部分是图形路径:

Dim bmp As New Bitmap(25, 25)

Using g As Graphics = Graphics.FromImage(bmp)

Dim gp As New GraphicsPath

gp.AddLine(0, 0, 25, 0)
gp.AddArc(New Rectangle(0, 0, 50, 50), -90, -90)
gp.AddLine(0, 25, 0, 0)


g.Clear(Color.Transparent)

g.FillPath(Brushes.Red, gp)
g.DrawPath(Pens.Black, gp)

End Using

bmp.Save("C:\a\out.png", Imaging.ImageFormat.Png)

关于.net - 在 .net 中创建透明 Angular PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/980470/

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