|
■No27550 (倉田 有大 さん) に返信
やじゅさん、倉田 有大 さん、Jitta on the way さん、ありがとうございました。
いろいろ動かしてみて、何となくですが思ったとおりに動かなかった原因がわかりました。
原因は
//座標変換
g.ScaleTransform(x, y, System.Drawing.Drawing2D.MatrixOrder.Append);
g.TranslateTransform(xMin, -yMax);
Bitmap img = new Bitmap(bmp);
g.DrawImage(img, -interbal, 0);
g.FillRectangle(Brushes.Yellow, xMax-interbal, 0, interbal, yMax);
のところで、座標変換の後に『g.DrawImage(img, -interbal, 0);』があるため、
imgに対してふたたび座標変換をしてしまっていることだと思います。この部分を
Bitmap img = new Bitmap(bmp);
g.DrawImage(img, -interbal, 0);
//座標変換
g.ScaleTransform(x, y, System.Drawing.Drawing2D.MatrixOrder.Append);
g.TranslateTransform(xMin, -yMax);
g.FillRectangle(Brushes.Yellow, xMax-interbal, 0, interbal, yMax);
とすることにより思ったとおりに動くようになりました。
|