最佳解答者
畫布設定

問題
-
我使用pictureBox1來畫波形,可是在設定上有參考指另設定跟看過書,卻還是有些問題跟不對,不知到哪裡出現錯
((g - 1) * pictureBox1.W / length)=x1 (-na1 / 1 + pictureBox1.Height + pictureBox1.Height / 150)=y1
(g * pictureBox1.Width / length)=x2 (-na2 / 1 + pictureBox1.Height + pictureBox1.Height / 150))=y2
以下是我設定的方式:
int g;
int length = 500; >>>設定長度為500
if (g >= length)
{
pictureBox1.BackColor = Color.White; >>想將piatureBox1畫面清乾淨
g = 0;
}
else if (g < length)
g = g + 1;
if (InputData > 0)
{
int na, na1, na2;
int nb, nb1, nb2;
Graphics pictureBox1 = this.CreateGraphics(); >>設定畫布
pictureBox1.DrawLine(Pens.Red, ((g - 1) * pictureBox1.Width / length), (-na1 / 1 + pictureBox1.Height + pictureBox1.Height / 150), (g * pictureBox1.Width / length), (-na2 / 1 + pictureBox1.Width+ pictureBox1.Height / 150));
>>設定以做標形式來畫波形,可是這邊pictureBox1的Width和Width都會顯示未宣告,我的想法是想要將波形控制在pictureBox裡面,但是寬跟高在C#裡面要例外設定嗎?
}
解答
-
PictureBox pictureBox1; Graphics pictureBox1;
HOW TO:建立繪製的圖形物件
http://msdn.microsoft.com/zh-tw/library/5y289054(VS.80).aspx
圖形程式設計入門
http://msdn.microsoft.com/zh-tw/library/da0f23z7(VS.80).aspx
前面您說pictureBox1是PictureBox類別,後面您又宣告同名pictureBox1為Graphics類別,編譯器會認為是Graphics類別而不是PictureBox類別;請先把上面網址的內容做過一次,就會比較清楚了...
- 已標示為解答 Lolota Lee 2010年7月22日 上午 01:45
所有回覆
-
Hi,
畫面清除可以用Graphics.Clear
Graphics.Clear 方法
http://msdn.microsoft.com/zh-tw/library/system.drawing.graphics.clear(VS.80).aspx
或是如果您的資料不會重繪的話
直接呼叫Invalidated就可以了
另外您的pictureBox1到底是Graphics還是PictureBox
謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/ -
Graphics gs = pictureBox1.CreateGraphics(); >>設定畫布 gs.DrawLine(Pens.Red, ((g - 1) * pictureBox1.Width / length), (-na1 / 1 + pictureBox1.Height + pictureBox1.Height / 150), (g * pictureBox1.Width / length), (-na2 / 1 + pictureBox1.Width+ pictureBox1.Height / 150));
Graphics變數命名重複,會無法辨別,另外取名就可以了吧...
-
PictureBox pictureBox1; Graphics pictureBox1;
HOW TO:建立繪製的圖形物件
http://msdn.microsoft.com/zh-tw/library/5y289054(VS.80).aspx
圖形程式設計入門
http://msdn.microsoft.com/zh-tw/library/da0f23z7(VS.80).aspx
前面您說pictureBox1是PictureBox類別,後面您又宣告同名pictureBox1為Graphics類別,編譯器會認為是Graphics類別而不是PictureBox類別;請先把上面網址的內容做過一次,就會比較清楚了...
- 已標示為解答 Lolota Lee 2010年7月22日 上午 01:45
-
應該是先畫在記憶體中會比較好 (利用bitmap)
參考既有討論
在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 -
用saveFileDialog儲存圖錯誤
要用Graphics類別,因為使用DrawLine方法,宣告可參考以上...