
文章插圖
大家好,小耶來為大家解答以上的問題 。*** 次數:888888 已用完請聯系開發者***pixco這個很多人還不知道,現在讓我們一起來看看吧!
【*** 次數:888888 已用完請聯系開發者***pixco】1、你這么寫不慢才怪不是canvas慢,你用的這個方法不是來做這個的.你可不要小看delphi vcl中封裝的東西 canvas的Draw方法你覺得慢嗎?你不用將圖像數據裝載到流中,不劃算因為圖像數據已經在內存中了只要我們直接操作即可 給你寫一個例子:(可不是復制粘貼的哦!)varimageP1,imageP2:^TColor;i:integer;beginwith p dobeginPixelFormat:=pf32bit;imageP1:=ScanLine[Height-1];end;with p dobeginPixelFormat:=pf32bit;imageP2:=ScanLine[Height-1];end;for i:= 0 to ( * t)-1 dobeginif imageP2^ <> $FF00FFthenimageP1^:=imageP2^;inc(imageP1);inc(imageP2)end;sh;end;達到的效果跟你上面的一樣,前提是兩個image圖片寬高要相同,還有需要Bmp圖片但是速度絕對快比你那么寫快NNNN倍只要你懂得怎么用指針就可以將我給你的例子弄完美,要是想做圖像處理相關的最好用指針,指針會很好的提高你程序的效率因為直接操作內存vcl封裝的的確很好但是很多菜鳥在不怎么了解Vcl原理的情況下胡亂使用,比如在循環里面使用了某些可視控件的一個方法導致N次的不必要的重畫(我笑!不慢才怪)所以delphi愛好者一定要在vcl中攝取營養終有一天你會發現delphi與VC是一個級別的用這個方法:把image的位圖圖像轉到內存里,就是stream里 , 再來處理就可以了 。
2、這個速度就很快了,你如果用FOR來處理Canvas的話,有時候會出現白圖的情況381560388的意思無非就是讓用ScanLine 。
3、這個將返回一個指針,如果你對指針不熟悉,那么根本不是馬上可以掌握ScanLine的使用方法的 。
本文到此分享完畢,希望對大家有所幫助 。
- *** 次數:888888 已用完請聯系開發者***鋒銳x46h
- x 已知f
- 微信群公告怎么撤回 已發出的微信群公告怎么撤回
- *** 次數:888888 已用完請聯系開發者***撓癢癢懲罰
- 產房里的 側切是什么意思
- 訂單 訂單金額已超出該銀行本年支付限額是什么意思
- *** 次數:888888 已用完請聯系開發者***kingsoft office推薦怎么關
- *** 次數:888888 已用完請聯系開發者***vivox9plus多少錢一部
- *** 次數:888888 已用完請聯系開發者***泰山電影
- 明日方舟怎么查看自己抽卡次數記錄
