-1

我正在用 c# 制作一个关于图像处理的项目,我的表单和菜单条中有一个图片框,其中包含可以应用于图像的各种选项(操作)(例如模糊、棕褐色、对比度等)。我正在考虑实施裁剪控件,并将其作为菜单项包含在内。

我想要的是每当我从菜单条单击裁剪选项时,它会触发图片框的鼠标按下、鼠标移动和鼠标向上事件,以便可以执行裁剪。

这是此链接中的裁剪代码:http: //www.codeproject.com/Articles/30725/Cropping-Images

问题是如何仅在单击菜单项时实现裁剪控件。每当用户单击图片框而不是当有人单击菜单项或说出按钮本身时,上述链接上的代码就会触发。

提前感谢您的帮助....

4

1 回答 1

-1

您应该将裁剪代码从事件处理程序中抽象出来,并抽象到一些也包含图像的图像处理类中。然后,您可以将 mousemove 事件连接到特定的裁剪调用中,例如:

public void MouseMoved(object sender, EventArgs e)
{
     SomeImage.Crop(e.X, e.Y);
}

但是,当您希望单击处理程序进行裁剪时,您将裁剪到什么坐标?您必须做出决定,然后在您的菜单点击处理程序中实现它:

public void CropMenuClicked(object sender, EventArgs e)
{
    // TODO: determine someX and someY
    SomeImage.Crop(someX, someY);
}
于 2012-05-14T08:58:42.757 回答