台灣最大程式設計社群網站
線上人數
1586
 
會員總數:240909
討論主題:186668
歡迎您免費加入會員
討論區列表 >> VB.NET >> Bitmap繪圖丟到PictureBox速度過慢問題
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Bitmap繪圖丟到PictureBox速度過慢問題
價值 : 100 QP  點閱數:133 回應數:2

樓主

ZYL
門外漢
0 1
28 1
發送站內信

各位先進,小弟是VB門外漢,可能用了很多繞路方式完成一個LED字幕編輯軟體

小弟是先宣告Bitmap,在上面畫上約6K個圓圈作為LED陣列,

再將畫完的Bitmap丟到PictureBox。

現在遇到的問題是,要對這畫面編輯時,

反應速度太慢。

例如"圈選功能",滑鼠在編輯區上Dowm及Move事件時,會有它色外框繪製在Picture上,

我都是把Bitmap刷黑,先畫上6K個LED,再畫上它色外框至Bitmap,再丟到Picture。

還有就是放大、縮小功能也是,都是整個畫面重畫,執行時都會lag。

小弟目前針對"圈選"的解決方向是,Plane上放置兩張PictureBox,

一張顯示LED陣列,外框就畫在另一張,然後設成透明,兩張疊加顯示。

當外框變動時,只要重繪外框那張PictureBox即可,藉此提升速度,

不過看網路資料,也翻很多書籍,試了好久還是無法成功。

不知這邊是否有先進可幫忙針對這問題,還有放大、縮小功能指點一下方向。

感謝!!




搜尋相關Tags的文章: [ PictureBox ] , [ 繪圖速度提升 ] ,
本篇文章發表於2017-09-30 17:52
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Ader Chen
檢舉此回應
下列個人做法, 僅供參考:
個人一個專案中有一項是讀取光譜數據、顯示曲線圖、讓使用者自由縮放顯示想看的範圍,
做法是先再記憶體 Bitmap 裡面 Graphics 畫圖, 以圖層 Layer 的觀念在記憶體 Bitmap 逐一畫底圖、曲線圖、格線等內容,最後再畫到 PictureBox.
使用者縮放、平移等操作並不會有閃爍或延遲的狀況.
參考:
https://tlcheng.wordpress.com/2015/02/28/vbnet-%E5%BF%AB%E9%80%9F%E5%91%88%E7%8F%BE%E7%B8%AE%E6%94%BE%E9%81%B8%E6%93%87%E6%A1%86/

https://msdn.microsoft.com/zh-tw/library/7wt4bf7h(v=vs.110).aspx

本篇文章回覆於2017-10-01 21:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

ZYL
檢舉此回應
Ader Chen 感謝回覆,我會再依您建議試試看的。

另外,這專案執行過程參考不少您的文章,再次感謝。
本篇文章回覆於2017-10-13 07:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.