网站首页 精选百科 > 正文
大家好,小耶来为大家解答以上的问题。*** 次数:888888 已用完请联系开发者*** pixco这个很多人还不知道,现在让我们一起来看看吧!
1、你这么写不慢才怪不是canvas慢,你用的这个方法不是来做这个的.你可不要小看delphi vcl中封装的东西 canvas的Draw方法你觉得慢吗?你不用将图像数据装载到流中,不划算因为图像数据已经在内存中了只要我们直接操作即可 给你写一个例子: (可不是复制粘贴的哦!)var imageP1,imageP2:^TColor; i:integer;begin with Image1.Picture.Bitmap do begin PixelFormat:=pf32bit; imageP1:=ScanLine[Height-1]; end; with Image2.Picture.Bitmap do begin PixelFormat:=pf32bit; imageP2:=ScanLine[Height-1]; end; for i:= 0 to (Image2.Width * Image2.Height)-1 do begin if imageP2^ <> $FF00FF then imageP1^:=imageP2^; inc(imageP1); inc(imageP2) end; image1.Refresh;end;达到的效果跟你上面的一样,前提是两个image图片宽高要相同,还有需要Bmp图片但是速度绝对快比你那么写快NNNN倍只要你懂得怎么用指针就可以将我给你的例子弄完美,要是想做图像处理相关的最好用指针,指针会很好的提高你程序的效率因为直接操作内存vcl封装的的确很好但是很多菜鸟在不怎么了解Vcl原理的情况下胡乱使用,比如在循环里面使用了某些可视控件的一个方法导致N次的不必要的重画(我笑!不慢才怪)所以delphi爱好者一定要在vcl中摄取营养终有一天你会发现delphi与VC是一个级别的用这个方法:把image的位图图像转到内存里,就是stream里,再来处理就可以了。
2、这个速度就很快了,你如果用FOR来处理Canvas的话,有时候会出现白图的情况381560388的意思无非就是让用ScanLine。
3、这个将返回一个指针,如果你对指针不熟悉,那么根本不是马上可以掌握ScanLine的使用方法的。
本文到此分享完毕,希望对大家有所帮助。
版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
猜你喜欢:
- 2022-07-25 陈德容退出我就是演员(陈德容退出我就是演员)
- 2022-06-25 NBA球迷之夜取消 取消是什么原因会受到什么影响
- 2022-06-29 官方回应王者荣耀崩了 具体是怎么回事
- 2022-05-13 吴京代言和平精英 吴京还代言过吃鸡吗
- 2022-10-26 爱情有情天剧情介绍(因为爱情有情天结局)
- 2022-05-01 台风米克拉登陆福建沿海 做好防御准备 注意安全
- 2022-09-04 器乐比赛评分规则(器乐比赛评分标准)
- 2022-11-08 电容麦支架上面的那根绳子是怎么缠绕的(电容麦支架)
最新文章:
- 2022-11-14 雪地里的女孩背影(雪地里的女孩)
- 2022-11-14 巫妖王之怒法师肩膀附魔(法师肩膀附魔)
- 2022-11-14 章子怡耍大牌(章子怡 骚货)
- 2022-11-14 大鸟翼蝶的简笔画(大鸟翼蝶)
- 2022-11-14 深圳大学专科自考有哪些专业(深圳大学专科)
- 2022-11-14 1mb等于多少GB(1mb等于多少kb)
- 2022-11-14 德盛小盘基金当天净值(德盛小盘)
- 热点推荐
- 热评文章