halcon 圖像控件顯示閃爍問題


halcon圖像內容在c#環境下顯示多個對象容易出現閃爍現象,對於c#控件我們第一時間想到的是雙緩沖,halcon提供了另一個機制來解決這個問題

在顯示圖像開始時候禁用圖像顯示刷新

HSystem::SetSystem("flush_graphic", "false");

在對象加載完成后,打開刷新,然后顯示一個看不見的對象

HSystem::SetSystem("flush_graphic", "true");
SetColor(winID, data->backgroundColor);
DispLine(winID, -100.0, -100.0, -101.0, -101.0);

以上代碼其實是c++代碼,為了實現halcon對象的顯示和滾動縮放等效果,通過cli代理,將c#內的halcon圖像對象及文字等轉化到c++中,由於c++的hobject對象賦值"="操作並非深度復制,且內部動態管理內存,這樣將c#中的hobject對象轉化到c++中的對象列表來顯示及刷新操作,避免了c#對halcon圖像對象的內存管理不力導致內存爆炸等問題.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM