異なる解像度の画像に同じサイズのrectを描きたいのですが、私がうまく説明できれば、画像に長方形を描くことができますが、(例えば)私は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申し訳ありませんが、私が欲しいのは、画像に長方形を描くことですが、(RectF)(0.0F、0.0F、100.0F、200.0F)を使用すると低解像度の画像であり、高解像度の画像では小さい。 –
はい。 a)各画像に必要な倍率を計算し、b)描画する前にGraphics.ScaleTransformを実行してb)Graphicsを拡大縮小する必要があります。 – TaW