Vb.net 将低质量图像转换为标签
我正在尝试向用户传递一个显示倒计时的图像。为此,我使用了一个单独的线程,在这里我检查倒计时计时器何时应该启动,当启动时,我每隔6秒绘制一幅图像 令人恼火的是,当我将绘制的图像传递到UI时,图像的质量发生了变化,用户觉得它很糟糕 这是我处理图形的小脚本:Vb.net 将低质量图像转换为标签,vb.net,image,bitmap,label,Vb.net,Image,Bitmap,Label,我正在尝试向用户传递一个显示倒计时的图像。为此,我使用了一个单独的线程,在这里我检查倒计时计时器何时应该启动,当启动时,我每隔6秒绘制一幅图像 令人恼火的是,当我将绘制的图像传递到UI时,图像的质量发生了变化,用户觉得它很糟糕 这是我处理图形的小脚本: Try remainingTime = (#12:04:00 AM# - (DateTime.Now - local_DateTimeclick)).ToString("HH:mm:ss") remainingTimeInSecond
Try
remainingTime = (#12:04:00 AM# - (DateTime.Now - local_DateTimeclick)).ToString("HH:mm:ss")
remainingTimeInSeconds = Convert.ToDateTime(remainingTime).Minute * 60 + Convert.ToDateTime(remainingTime).Second
If remainingTimeInSeconds Mod 6 = 0 Then
g.ResetTransform()
g.TranslateTransform(52, 52)
g.RotateTransform(230 - remainingTimeInSeconds / 6 * 9)
'g.CompositingQuality = Drawing2D.CompositingQuality.HighQuality
'g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
'g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
'g.CompositingMode = Drawing2D.CompositingMode.SourceCopy
'g.PixelOffsetMode = Drawing2D.PixelOffsetMode.
g.DrawImage(Tick, 10, 10)
End If
Catch
remainingTime = "Times Up"
End Try
在上述章节中,
-*local_DateTimeClick*是在倒计时开始时设置的变量
-Tick是一个位图,表示我每6秒必须绘制的图像
-g是我返回主窗口的图像中的图形对象
也尝试改变g的性质,但没有积极的效果
有人知道我该怎么做才能在不改变返回图像质量的情况下正常工作吗?欢迎任何提示/建议。从我公司的平面设计师的角度来看,我认为您应该裁剪图像以适合标签:
1.它通过节省处理能力来提高性能。
2.看起来好多了
从我公司的平面设计师的角度来看,我认为你应该裁剪你的图像以适应标签:
1.它通过节省处理能力来提高性能。
2.看起来好多了
因为
Drawing2D.SmoothingMode
仅适用于2D矢量绘制方法,如Graphics.DrawEllipse
和Graphics.DrawLine
它不影响使用Graphics.DrawImage
绘制位图
从:
平滑模式指定直线、曲线和填充区域的边是否使用平滑(也称为抗锯齿)
此时,您有两个选项:
图像对象
在不知道您正在转换的实际图像的情况下,我无法说哪个更合适。因为
Drawing2D.SmoothingMode
仅适用于2D矢量绘制方法,如Graphics.Drawillipse
和Graphics.DrawLine
它不影响使用Graphics.DrawImage
绘制位图
从:
平滑模式指定直线、曲线和填充区域的边是否使用平滑(也称为抗锯齿)
此时,您有两个选项:
图像对象
在不知道您正在转换的实际图像的情况下,我不能说哪个更合适。为什么您要注释掉所有神奇的代码以使其看起来高质量?因为这没有什么区别。无论我是否使用“魔法代码”,图像的质量都是一样的。为什么你要注释掉所有的魔法代码以使其看起来高质量?因为这没有什么区别。无论我是否使用“魔法代码”,图像的质量都是一样的。。。我没有调整任何尺寸,所以我认为没有必要种植庄稼。但是我会搜索一些关于这个的提示并尝试一下。好吧。。。我没有调整任何尺寸,所以我认为没有必要种植庄稼。但我会搜索一些提示并尝试。