【发布时间】:2020-08-17 16:22:18
【问题描述】:
我正在尝试创建用于将 png 图像粘贴到另一个图像的中心的 VB.NET 代码。我正在使用以下代码:
'create new image with watermark
Dim backImg = Image.FromFile("image path")
Dim mrkImg = Image.FromFile("watermark.png")
Dim g = Graphics.FromImage(backImg)
g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
Dim x = Convert.ToSingle((backImg.Width / 2) - (mrkImg.Width / 2))
Dim y = Convert.ToSingle((backImg.Height / 2) - (mrkImg.Height / 2))
g.DrawImage(mrkImg, x, y)
backImg.Save("result.jpg")
这是有效的,但我注意到质量下降:
(蓝色的是实际图像,红色的是png的一部分。注意边缘。)
我怎样才能保持完整的质量?我在 python 中实现了相同的功能而没有失去任何质量,但不确定如何在 VB.NET 中执行
【问题讨论】:
-
质量可能是我们之前看到的。但是您可以尝试保存为 png 以进行测试,然后通过设置较低的压缩率来提高 jpg 质量。
-
你知道 JPG 压缩是如何工作的吗?