我試圖將向用戶顯示的圖像傳遞給倒計時。爲此,我正在使用一個單獨的線程來檢查倒數計時器應該何時開始,如果是,我每6秒鐘就會畫一個圖像。將低質量圖像轉換爲標籤
令人討厭的是,當我將繪製的圖像傳遞給用戶界面時,圖像的質量發生了改變,而且對用戶來說看起來很糟糕。
這是我的小腳本處理圖中:
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 *是當倒計時應該開始 所設置的變量 - 蜱是一個位圖這代表我必須爲每6個elipsed秒繪製的圖像 - g是從圖像返回到主窗口的圖形對象。
也嘗試改變g的屬性,但沒有正面影響。
任何人都有任何想法我可以做什麼,使其正常工作,而不會改變返回的圖像的質量?歡迎任何提示/建議。
爲什麼你把所有的魔法代碼註釋掉了,看起來質量很高? –
因爲它沒有區別。如果即時使用「魔術碼」,圖像的質量也是一樣的。 –