【发布时间】:2015-01-26 23:32:40
【问题描述】:
我目前在通过鼠标单击将“x”绘制到图片框时遇到问题。
Bitmap currentFahrzeugSchadenImage = new Bitmap(this.SchadenFahrzeugPictureBox.Image);
Graphics g = Graphics.FromImage(currentFahrzeugSchadenImage);
g.DrawString("X", new Font("Tamoha", 15), Brushes.Red, new PointF(e.X, e.Y));
this.SchadenFahrzeugPictureBox.Image = currentFahrzeugSchadenImage;
我在SchadenFahrzeugPictureBox_MouseClick(object sender, MouseEventArgs e) 上运行这个。 X 总是放置在鼠标位置的正下方。如果我单击左上角,鼠标和 X 之间的差异会更低,然后单击右下角。
PictureBox 中的SizeMode 是StretchImage。
对话框:
我希望问题很清楚。
抱歉英语不好。
最好的问候, 放松
【问题讨论】:
-
PictureBox的SizeMode是什么?如果不是Normal或Autosize,您将需要额外的代码! -
@TaW
SizeMode是StretchImage -
问题显然与
StretchImage有关。问题是如何解决它。一个直接的解决方案是在没有拉伸的情况下吸入一些东西。所以要么不要拉伸你的图像,或者,例如,在它上面放一些透明的东西,然后在那里画"X"。如果您可以计算比率(原始/当前),那么乘以坐标也应该可以。 -
@Sinatr 你是对的。问题是
StretchImage。将其恢复到Normal,现在它工作正常:) 所有不同的图像都适合图片框,如果它们太小,则有一个透明的背面。谢谢!
标签: c# image bitmap drawing picturebox