也许有人在那里可以提供帮助,我试图在表单中显示透明的PNG作为启动画面。表单上的代码是:
Sub Form_Paint(ByVal s As Object, ByVal e As PaintEventArgs) Handles Me.Paint
Dim r As New Rectangle(0, 0, 728, 462)
Dim newBitmap As Bitmap
newBitmap = Bitmap.FromFile("Logo.png")
e.Graphics.DrawImage(newBitmap, r)
end sub
生成的图像显示有一个丑陋的“羽毛”边框。见这里:
图像是32位ARGB,边缘透明。这是嵌入在网页中的PNG:
有谁知道如何摆脱边界?
答案 0 :(得分:0)
试试这个:
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
e.Graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
e.Graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
另见: How to draw smooth images with C#?
无论如何,正如另一位用户所说,问题在于没有任何抗锯齿的情况下创建的图像。上面的代码片段可以解决问题,但最好的选择是调整图像。
此致