- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我发现 I. 方法比 II. 方法慢。我的应用程序进行实时图像处理。我知道 C# 对于这个目的来说并不理想,但我可以分离性能关键的东西并在 C++ 中制作它。我想知道为什么在 C# 中没有任何计算的简单位图绘图速度较慢。我的问题:在 C# 中有比我更快的方法吗?
I. C#:
void DrawImg(Bitmap b)
{
pictureBox1.Image = b;
pictureBox1.Invalidate();
}
II. C# + C++ + OpenCV
C# side:
[DllImport("MyWrapper.dll")]
static extern void showimg(IntPtr p, int x, int y);
void DrawImg(Bitmap b)
{
BitmapData d = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
showimg(d.Scan0, d.Width, d.Height);
b.UnlockBits(d);
}
C++ side:
extern "C" void __stdcall showimg(uchar* p, int x, int y)
{
Mat img; // OpenCV's Mat class
img.create(y, x, CV_8UC3);
img.data = p;
imshow( "Window1", img );
}
最佳答案
图像的 PixelFormat 很关键。今天绝大多数机器都以 32bpp 模式运行它们的视频适配器。这使得 Format32bppPArgb 比任何其他格式快 10 倍以上,包括 32bppArgb 和 24bppRgb。请确保以该格式创建图像,并在必要时进行转换。
同样非常重要的是,您以原始尺寸绘制图像。您可以在 native 代码中执行此操作,但不一定使用 PictureBox。如果需要调整图像大小,它会在图像上使用高质量插值。这需要时间。
关于C# picturebox 绘制速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4462563/
这个问题在这里已经有了答案: Transparent control over PictureBox (8 个答案) 关闭 5 个月前。 我希望 pbGrade 位于 pbItemtype 之上(p
如何将图片框内的图片移动到另一个图片框? 我想用它来移动棋子。我有一个为每个地方拍摄的图片框,所以我有 64 个图片框。 最佳答案 您可以只分配 Image在一个图片框中显示到另一个图片框。如果您随后
大家好,我正在开发跳棋游戏。我有这种宣布获胜者的方法,我希望是否有办法使用循环来做到这一点。目前它工作得很好 :),但我不得不对其进行硬编码而不是使用逻辑。 public void checkWinn
我正在编写一个可以播放幻灯片(以及其他内容)的程序。幻灯片由 backgroundWorker 控制,并设置为 while(true) 循环,因此它将不断播放图像。我的问题是我不确定如何处理旧图像以免
当我在运行时向表单添加图片框时,图片框的行为完全符合我的要求。但是当我将它添加到面板时,图片框会扩展以适合图像。 代码如下: private PictureBox globalPicBox = (Pi
我有一个 PictureBox可以有多种不同的大小(取决于屏幕分辨率、窗口状态等)。我想要适合我的 image到 PictureBox当 image 中的任何一个尺寸(宽度或高度)低于 Picture
我有一个 PictureBox,我在其中使用下面的代码来移动我的对象。我需要在表单中添加一些按钮,但是当我启动程序时,箭头键在按钮之间导航,而不是我的输入按键。我试过很多Form.Load() 上的
我不确定为什么,但每当我处理碰撞时,似乎控件的顶部和左侧属性一切正常,但右侧和底部属性却不太顺利。我不确定是不是因为它们是只读属性,但请有人帮忙。 代码如下 Playground (面板)类
最近想试试AForge.NET因为我发现它非常简单,所以我决定使用 Video.FFMPEG 命名空间来制作一些简单的视频播放,这样我就可以将每一帧直接放在图片框上。仅此一项效果很好,但我想在不重要之
我在主窗体上有两个图片框,一个是来自安装在机器人顶部的网络摄像头的视频流,另一个是一些用户反馈,它不时更新,并带有它认为可以看到的图表(命名 map )。两张图片都可以由任何线程更新。如何安全地更新这
我正在使用 C# 开发一个工具,用于捕获屏幕的一部分并将其放入 PicBox 中,我已经能够获取屏幕截图,但我在某一点上遇到了麻烦。我拍摄的镜头是从屏幕的开头拍摄的,我想给出镜头应该开始的坐标(X,Y
如何将图片设置为 PictureBox在代码中? 下面的代码给出了错误: Cannot implicitly convert Bitmap to String. private void pt
我必须在 C# 中制作一个窗口窗体,其中两个 PictureBox 重叠。 TopPictureBox 包含一个透明的 png 图片。默认情况下,可以通过单击 TopPictureBox 中图像的任何
我正在编写一个简单的游戏 - 贪吃蛇。我想要背景和我的蛇。我认为最好的方法是使用两个 pictureBox(一个有背景,第二个 - 透明,上面有蛇)。 这是个好办法?以及如何将几个小图像(蛇的片段)放
我想在 Winform 应用程序中显示一些图形,它将是股票的图表绘制工具。我认为(但我不确定...)我必须使用 PictureBox,并使用 System.Drawing.Graphics 类的绘图原
我正在为 Windows Mobile (Compact Framework 2.0) 开发一个应用程序。它有一个带 PictureBox 的 WinForms。 我想移动PictureBox的图片,
首先,我要感谢您抽出宝贵时间 :) 所以这是我的问题.. 我正在尝试制作一个小游戏,在其中生成 PictureBox 并将其从右向左发送,然后我的 PictureBox 播放器会尽量避免它们跳跃。所以
我有 pictureBox1, pictureBox2, picturebox3, .... 在 C# 中,有没有办法可以循环更改第一个 picturebox 的背景颜色,然后等待,然后更改 pict
我发现 I. 方法比 II. 方法慢。我的应用程序进行实时图像处理。我知道 C# 对于这个目的来说并不理想,但我可以分离性能关键的东西并在 C++ 中制作它。我想知道为什么在 C# 中没有任何计算的简
我需要在 C# 中绘制费马螺线。我做到了,但我希望我的绘图填充在 PictureBox 中,无论实际尺寸有多大。 public void DrawSpiral(double delta, doub
我是一名优秀的程序员,十分优秀!