请教关于多线程与图象处理的问题?

SY0204 2007-01-19 11:20:47
写了一个图象处理的程序,由于图象很多,所以开了一个新线程用于图象处理,主线程只用来更新界面,但始终会出现莫名其妙的错误,尤其是在移动鼠标时出现的错误更多。但相同的处理图象的代码在主线程执行中就没有问题。
...全文
326 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wglwjc 2007-04-12
  • 打赏
  • 举报
回复
我有一个图象处理方面的问题,请教
简单的说:比如有十张扑克牌,先拍一张照片,取走一张,在拍一张照片,通过程序判断取走了那张
有没有那位做过类似的东西。给我提供些资料或者方向什么的
有偿提供实现功能的源代码也可以
联系地址:上海闵行区辛庄地铁站
联系人:王先生
联系电话:13636579369
QQ:82268578
MSN:wangganling@hotmail.com
E_mail:wanggangling_1@hotmail.com
  • 打赏
  • 举报
回复
用了TCANVAS的LOCK后问题解决了
==================================
唉,为什么说TCanvas类(还有相关的tbitmap、tpen、tpicture等)是线程安全的??就是因为有lock和unlock,实际上lock就是建立了一个临界区,阻止其他线程进入,unlock释放临界区。
GARNETT2183 2007-01-25
  • 打赏
  • 举报
回复
可能是你线程与主线程交互保护机制不够建全造成的错误...
numbbb 2007-01-22
  • 打赏
  • 举报
回复
TCANVAS是非线程安全。
cqlumm 2007-01-22
  • 打赏
  • 举报
回复
楼主可以发份这样的代码给我参考吗?本人也在做这方面开发。只是新手不知如何写。特别是多线程图像处理。谢谢了。cqlumm@yahoo.com.cn
蒋晟 2007-01-19
  • 打赏
  • 举报
回复
problem not reproducable. likely your coding error.
SY0204 2007-01-19
  • 打赏
  • 举报
回复
用了TCANVAS的LOCK后问题解决了,
主线程控制界面,副线程先创建一个图象处理的对象,然后依次循环载入一系列的图象文件进行处理,每处理完成一个就发一个消息给主线程让其更新进度条。图象处理的对象是在副线程里建立的,与主线程没有任何接触,除发消息之外两者之间没有接触。主线程也不操作任何图象文件。
我后来发现出错的似乎是在副线程载入图象文件的时候
Bitmap.LoadFromFile(FileName);
真是奇怪。
SonicX 2007-01-19
  • 打赏
  • 举报
回复
主线程和副线程同时对图像进行操作时要考虑同步问题,
简单点的办法就是主线程在执行时挂起副线程

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧