我想繪製一個在不同分辨率的圖像上具有相同大小的矩形。如果我需要解釋得很好,我想要的是在圖像上繪製矩形,但是您知道何時(例如)使用RectangleF(0.0 F,0.0F,100.0F,200.0F),它在低分辨率圖像上看起來很大,在高分辨率圖像上也很小。C#如何在不同分辨率的圖像上繪製矩形?
任何幫助將不勝感激。
我的代碼:
Color customColor = Color.FromArgb(50, Color.Blue);
SolidBrush shadowBrush = new SolidBrush(customColor);
// Create array of rectangles.
RectangleF[] rects = { new RectangleF(image.Width/2, 0.0F, 100.0F, 200.0F), new RectangleF(100.0F, 200.0F, 250.0F, 50.0F) };
g.FillRectangles(shadowBrush, rects);
'圖像分辨率'可以表示像素大小或dpi。 '同樣的規模'也不是很清楚。請詳細說明您的問題! – TaW
@TaW對不起,如果我couldent解釋好,我想要的是在圖像上畫一個矩形,但你知道什麼時候(例如)我使用RectangleF(0.0F,0.0F,100.0F,200.0F)它會出現大低分辨率圖像,在高分辨率圖像上也很小。 –
是的。您需要a)爲每個圖像計算必要的縮放因子,然後b)在繪製之前通過執行Graphics.ScaleTransform來縮放圖形。 – TaW