概要:最初のフォームサイズの外側には描画されません。スケールアップするのではなく、スケールダウンすることができます。
要約が十分に明確でない場合の説明:したがって、私のフォームが最初にサイズ1000,800である場合。拡大縮小後、描画した画像が1000,800を超えることはありません。
フォームを2000,1600のサイズに拡大縮小すると、トリミングされます。画像は下と右の両方の半分でトリミングされるため、左上の部分のみが描画されます。
作成時にフォームを2000,1600に設定している限り、スケーリングは正しく機能するので、正しく機能すると確信しています。
。。重要かどうかはわかりませんが、要求どおりにコーディングしてください。。
mapDrawer.DrawImage( map1,
new RectangleF(0, 0, ImageSizeX * scale, ImageSizeY * scale),
new RectangleF(0, 0, ImageSizeX, ImageSizeY),
GraphicsUnit.Pixel);
ここで、scaleはform.size/map_sizeです。そして、私はxまたはyの小さいスケールを取りました。