2011-04-25 41 views
2

我使用了一個名爲TatukGis的地圖組件,我需要在地圖上繪製一些其他信息,它使用TCanvas基本上繪製地圖。 我正在使用像素來創建一個我喜歡的alpha混合效果,但它非常緩慢,它似乎刷新了每個操作的畫布。有人可以提供一些提示如何正確使用TCanvas來快速繪製事物?如何在TCanvas上使用性能?

韓國社交協會

+0

是的,'Pixels'屬性*非常*慢。這幾乎無法使用。您必須通過'Scaline'屬性訪問像素。 [在這個答案中的第二個示例](http://stackoverflow.com/questions/4916913/draw-opacity-ellipse-in-delphi-2010/4917296#4917296)可能會有用。 – 2011-04-25 14:09:29

回答

4

爲位圖(如果需要的像素級訪問使用掃描線)先寫,然後繪製位圖到畫布(CopyRect)。

+1

或StretchBlt,儘管名稱可能實際上比copyrect更快。 – 2011-04-25 13:37:55

+0

或'BitBlt'如果你不需要拉伸。 – 2011-04-25 14:13:30

+2

BitBlt(通常?)比StretchBlt更快。只要你的位圖是1:1。 – 2011-04-25 14:16:16

相關問題