在 PictureBox 图像上使用线程绘图
Posted
技术标签:
【中文标题】在 PictureBox 图像上使用线程绘图【英文标题】:Drawing with threads on a PictureBox Image 【发布时间】:2012-11-15 00:45:09 【问题描述】:我正在尝试使用线程在 PictureBox 中的图像上绘制多个椭圆,但是当我与表单交互时(比如移动它),当我克隆当前时,GDI 会抛出 InvalidOperationException(当前正在使用的对象)线程中的图像。
我想要实现的是能够在画布上为一些形状设置动画,并让用户在与表单交互(以及放大图像等)时获得流畅的体验。
实现此目的的最佳方法是什么?
【问题讨论】:
【参考方案1】:保留与后台线程交互的单独图像,然后在有新内容要显示时将其克隆到 UI 线程。克隆应该通过 BeginInvoke 完成
【讨论】:
【参考方案2】:在与 PictureBox 交互之前,您可能需要调用 BeginInvoke 以进入 GUI 线程。
就这样……
form.BeginInvoke(ManipulatePictureBox);
【讨论】:
以上是关于在 PictureBox 图像上使用线程绘图的主要内容,如果未能解决你的问题,请参考以下文章