问题标签 [picturebox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4397 浏览

c# - 我应该如何从屏幕空间坐标转换为 WinForms PictureBox 中的图像空间坐标?

PictureBox我有一个在 Windows 窗体控件中显示图像的应用程序。SizeMode控件的 设置为,以便Zoom包含在 中的图像PictureBox将以正确的方式显示,而不管PictureBox.

这对于应用程序的视觉外观非常有用,因为您可以根据需要调整窗口大小,并且图像将始终以最适合的方式显示。不幸的是,我还需要处理图片框上的鼠标单击事件,并且需要能够从屏幕空间坐标转换为图像空间坐标。

看起来很容易从屏幕空间转换到控制空间,但我没有看到任何明显的从控制空间转换到图像空间的方法(即在图片框中已缩放的源图像中的像素坐标)。

有没有一种简单的方法可以做到这一点,或者我应该复制他们在内部使用的缩放数学来定位图像并自己进行翻译?

0 投票
4 回答
12636 浏览

c# - 如何让 PictureBox 使用最近邻重采样?

我正在使用 StretchImage,因为该框可以通过拆分器调整大小。看起来默认是某种平滑的双线性过滤,导致我的图像模糊并有莫尔图案。

0 投票
8 回答
41126 浏览

c# - 如何检测 PictureBox 上的按住鼠标按钮?

当鼠标位于 PictureBox 上方且鼠标按钮已被单击并按住时,我需要触发一个事件。

问题:

MouseDown 和 MouseEnter 事件处理程序不能很好地协同工作。

例如,一旦单击并按住鼠标按钮,C# 将触发 MouseDown 事件处理程序,但是当光标移到 PictureBox 上时,MouseEnter 事件不会触发,直到鼠标按钮被释放。

0 投票
5 回答
7165 浏览

c# - 将 Access DB 中的图片读入 PictureBox

我一直试图在 C# windows 应用程序的 PictureBox 中读取保存在 Access DB 中的图片作为 OLE 对象。

执行此操作的代码如下所示:

当我执行上述代码时,会在该行引发“参数无效”异常:

从异常消息中,很明显“ms”的格式无法识别。有什么建议可以解决这个问题吗?

0 投票
1 回答
7412 浏览

.net - 如何使用 .NET Compact Framework 显示动画 gif

我想在 .NET Compact 上显示动画 gif Form。目前我使用一个控件并在和PictureBox之间切换 。.Visible = true.Visible = false

显示gif后.Visible = true,它不是动画的。如何让 .NET Compact Framework 为其设置动画?

我已经尝试过了,但它不起作用。

0 投票
6 回答
1419 浏览

vb.net - 图片框变为空白

在 VisualBasic.Net 中,当我激活一个图片框并在其上绘制一些东西时,它会绘制然后立即变为空白。当我重新绘制它时效果很好,但我第一次绘制它时几乎总是搞砸了。这发生在几个不同的程序中,帮助文件没有帮助。

0 投票
6 回答
54303 浏览

c# - 使用 C# WinForms 的透明图像

我正在开发 VS 2008 中的 Windows 窗体应用程序,我想在另一个图像的顶部显示一个图像,顶部图像是 gif 或带有透明部分的东西。

基本上我有一个大图像,如果它,我想在上面放一个小图像,这样它们就有点像一个图像给用户看。

我一直在尝试使用图片框,但这似乎不起作用,有什么建议吗?

0 投票
1 回答
5619 浏览

.net - PictureBoxSizeMode.Zoom - 什么是缩放系数?

我有一个包含图像的 PictureBox(其 SizeMode 属性设置为 Zoom),两者的大小都可能不同。

由于用户必须直接与图像交互,我需要能够将 PictureBox 点击坐标转换为图像坐标。

到目前为止,我所做的是将 PictureBox 的纵横比与图像的纵横比进行比较。例如,如果 PictureBox 相对于图像“更宽屏”(见截图),这意味着 PictureBox 会将图像拉伸到它自己的高度并水平居中,将其背景颜色(在本例中为红色)显示给图像的左侧和右侧。然后我假设图像的显示高度与 PictureBox.Height 相同,并从那里开始工作。

不过有一个问题。正如您在屏幕截图(绿色注释我的)中看到的那样,被拉伸以适合(缩放)红色 PictureBox 内的白色图像在底部留下了一个小边距。

screenie http://img132.imageshack.us/img132/3541/bordernl6.th.png 点击查看完整尺寸。

不过,并非所有 PictureBox.Size / Image.Size 组合都会发生这种情况。这使我相信必须有更好的方法来做到这一点。


当然,我会这样做的。我只需要修改代码以删除上下文依赖项。

但底部的边距不是来自我的代码。它来自 PictureBox 本身。帮我一个忙并尝试以下操作:

将 PictureBox (PictureBox1) 添加到窗体,将其停靠到窗体的所有四个侧面。代码应如下所示:

运行它并调整窗体的大小,使图像被拉伸(缩放)以填充 PictureBox 的高度,在白色方块的左侧和右侧留下红色条。现在垂直调整窗体的大小,尽可能慢。您应该时不时地在底部看到一个红色边距。

宽度和水平调整大小也会发生同样的情况,显示右侧的边距。

正是由于这个小缺陷,我知道无法按照我一直这样做的方式计算缩放系数;结果只是一个近似值。如果在尝试后您仍然认为代码是相关的,那么我很乐意发布它。

感谢您抽出宝贵时间阅读和回复。

0 投票
2 回答
12411 浏览

c# - c#如何让我的gif动画在picturebox中循环

我已将动画 GIF 作为资源导入图片框 - 不幸的是,它只播放到结束帧并且从不重复。如果有什么我可以做的让它不断循环。gif 是我的“请稍候忙碌箱”

布拉德

0 投票
2 回答
9721 浏览

c# - PictureBox调整大小和绘画问题

我想在 Winform 应用程序中显示一些图形,它将是股票图表绘制工具。我认为(但我不确定......)我必须使用 PictureBox,并使用 System.Drawing.Graphics 类的绘图原语来绘制图表。我已经开始对其进行编码,现在它或多或少可以工作,但是我在调​​整大小功能时遇到了问题,如下所示:当我调整整个表单的大小时,我看到程序显示图形然后立即清除它。当我停止鼠标移动(没有释放鼠标按钮)时,图形消失了!?!?

我做了一个小测试环境来演示这个bug:使用VS2005,新建一个C# Windows Forms app,只在表单中添加一个PictureBox。将 PictureBox 的锚点设置为左、上、右和下。添加两个事件处理程序,Resize 到 PictureBox,Paint 到 Form。

}

这个小应用程序显示了问题。它只画一个椭圆,但当然我的绘图代码要复杂得多......

知道为什么当我调整表格大小时椭圆会消失吗????