我希望确切地知道我点击的控制图像。
喜欢如果我点击另存为选项。我应该将另存为控件图像。
这是我想要实现的图像示例。
首先我点击文件菜单然后另存为。
我想实现这个目标
目前。我在点击的坐标点击基础上获取图像。 像这样。我在点击坐标的点击基础上获取图像。这不是我想要做的。
另一个例子。我点击Stack over flow questions控件。我应该得到这个结果。
我的代码。
if (ClientRectangle.Contains(PointToClient(Control.MousePosition)))
{
// MessageBox.Show("Width:" + ClientRectangle.Width.ToString() + "--- Height: " + ClientRectangle.Height.ToString() + "---" + "X:" + ClientRectangle.X.ToString() + "--- Y: " + ClientRectangle.Y.ToString());
Point location = button1.PointToScreen(Point.Empty);
MessageBox.Show(location.X.ToString()+"---------"+location.Y.ToString()+"---------"+ location+ClientRectangle.Width.ToString()+"---------"+ClientRectangle.Height.ToString());
// Rectangle rect = new Rectangle(0, 0, 100, 100);
int with = ClientRectangle.Width;
int height = ClientRectangle.Height;
Bitmap bmp = new Bitmap((int)with, (int)height, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bmp);
// g.CopyFromScreen(ClientRectangle.Left, ClientRectangle.Top, 50,50, bmp.Size, CopyPixelOperation.SourceCopy);
g.CopyFromScreen(location.X, location.Y, 0, 0, new Size(ClientRectangle.Width-30, ClientRectangle.Height-36));
bmp.Save(@"capture.jpg", ImageFormat.Jpeg)
答案 0 :(得分:0)
根据我的问题理解,当您在特定菜单项上指向/单击鼠标时,您希望在鼠标指针上显示菜单选项的图像。如果是这样,您可以通过更改光标来执行此操作:
System.Windows.Resources.StreamResourceInfo sri = Application.GetResourceStream(new Uri("/Images/handClosed.cur", UriKind.RelativeOrAbsolute));
Cursor customCursor = new Cursor(sri.Stream);
Mouse.OverrideCursor = customCursor;
这里,“/ images /handClosed.cur”是项目中本地存储的图像。您可以存储所有菜单项的图像,并根据菜单项显示它们。
编辑:这是一个WPF示例
检查此Simple Magnifier应用。引用源并获得鼠标单击所需的效果。