我正在尝试向用户传递一个显示倒计时的图像。为此,我使用了一个单独的线程来检查何时应该启动倒数计时器,如果是这样,我每 6 秒绘制一次图像。
令人讨厌的是,当我将绘制的图像传递给 UI 时,图像的质量发生了变化,并且对用户来说看起来很糟糕。
这是我处理图纸的小脚本:
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的属性,但没有积极效果。
任何人都知道我该怎么做才能使其正常工作而不改变返回图像的质量?欢迎任何提示/建议。