[英]using painteventargs in a c# form; how do I draw a larger image to the Graphics object (with scrollbars as well)?
我正在寫一些數據采集代碼。 應用程序獲取數據時,會在內容窗格中繪制圖形。 現在,對於由固定長度掃描組成的數據,一切都可以正常工作:將圖形縮放以適合從painteventargs獲得的圖形對象。 現在,我們正在實施“免費掃描”,隨着您收集數據的時間越來越長。 我們想從painteventargs中將圖形的大小不斷增加的圖形繪制到圖形對象,但是一旦它變得比圖形對象大,則會生成“內存不足”異常。 有沒有辦法增加圖形對象或簡單地替換它? 我們希望能夠使用滾動條來查看所有數據。
謝謝你的幫助!
這是代碼的一部分(注意:我明白為什么我會遇到內存不足錯誤-位圖太大。這只是做我想做的事情的一次嘗試。我在問這個問題因為我現在很沮喪。):
System.Drawing.Graphics G = e.Graphics;
e.Graphics.Clear(System.Drawing.Color.White);
Bitmap bm = new Bitmap(10000, 1000);
Graphics h = Graphics.FromImage(bm);
h.DrawLine(myPens[0], 0, 0, 1000, 10000);
G.DrawImage(bm,0,0);
我建議您計算平均點並繪制圖形,而不是每個數據點。 領先的圖表控件也可以做到這一點。 為了不向用戶隱藏細節,您應該實現縮放功能,該功能僅占用特定的數據間隔。 放大越多,時間間隔就越短。 放大得越多,您可以顯示的細節越多。 希望這個策略能對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.