我一直试图这样做几个小时,但对于我的生活,我无法做到这一点.
我想要做的只是移动winform应用程序中的图片框中找到的图像.我的图像大约是1000x1000像素,我的盒子就像400x500那样任意,所以,例如,当我点击鼠标时,我希望图像向左移动50.但图像框应保持相同的大小.
然而,对于我的生活,我无法让它发挥作用.我能做的是以下内容:
if (kinectController.hands[0].fingertips.Count == 1)
{
pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
}
Run Code Online (Sandbox Code Playgroud)
此功能适用于我的kinect手指跟踪应用程序.因此,当应用程序在屏幕上找到可见的单个查找点时,图像将居中.然而,我最终希望图像随着我的手指移动而移动,一旦我计算出将图像移动到一侧的基本步骤就会出现.
任何帮助都将不胜感激.
Ben*_*ack 15
我做了一些研究,显然在PictureBox中移动图像并不是一件容易的事,至少我找不到任何可以实现这一点的东西(不是说没有办法做到这一点).
但是,我提出了一些"解决方法",看看这是否符合您的需求.要做到这一点:
现在,将此代码放在您的表单中
private bool Dragging;
private int xPos;
private int yPos;
private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { Dragging = false; }
private void pictureBox1_MouseDown(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Left) {
Dragging = true;
xPos = e.X;
yPos = e.Y;
}
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e) {
Control c = sender as Control;
if (Dragging && c!= null) {
c.Top = e.Y + c.Top - yPos;
c.Left = e.X + c.Left - xPos;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,无论何时单击并拖动PictureBox,它都不会实际移动其中的图像,而是在面板中的PictureBox控件.再一次,不完全是你在寻找什么,我不知道这将如何转换为Kinect,但我希望这能让你走上正轨.
| 归档时间: |
|
| 查看次数: |
10476 次 |
| 最近记录: |