是否有任何简单的方法来移动图片部分(使用DrawImage
或创建的任何东西DrawString
)?
我的聪明想法:覆盖DrawImage(DrawString)
方法添加了将绘制图像的宽度、高度、左侧、顶部存储DrawImage
到对象列表的能力(如果我使用方法,则可能是布尔变量'sizable')。将函数“WhatToMove”附加到 PictureBox 的MouseMove
事件,该事件遍历存储的矩形对象列表,检测矩形光标所在的位置,如果是可调整大小的矩形,则检测光标是否位于矩形的任何边框上,并将这些内容作为参数传递给MouseDown
函数,当我点击。然后MouseDown
函数会将新函数“MoverResizer”附加到MouseMove
事件,该事件重绘带有移动或调整大小的图像部分的图片框,更新列表中正确的矩形对象,并将“WhatToMove”从MouseMove
. 上MouseUp
和离开图片框的事件分离“MoverResizer”并附加“WhatToMove”。
如果您认为这个想法可以实现,如果告诉我如何覆盖 DrawImage,您将真正帮助我。
我的愚蠢想法:
创建不带文本和带边框的标签,并将它们定位在 PictureBox 上正确的图像部分。然后用自己的事件使它们可拖动和变大。然后将标签的位置转换为图片部分的位置并重新绘制图片框。这很简单,但我认为没有上面的方法那么完美。