none
新手問題:畫布預設座標問題? RRS feed

  • 問題

  • 小弟現在利用RichTextBox工具來做為畫布。

    此類的畫布工具,起始座標(0, 0)在左上方,往右X、往下為Y。

    現在想將畫布的起始座標變更位子,改成正中間或者中下方。請問一下小弟該用甚麼方法去修改?

    另外我想做個座標掃描圖,但是課本上的範例都是畫直線圖、矩形圖、橢圓圖等...

    我試著做了一個簡單的範例:

    Graphics Rt; //宣告畫布Pt
    Rt = RichTextBox1.CreateGraphics(); // 將工具RichTextBox1宣告為畫布
    Pen MyPen = new Pen (Color.<顏色>, <粗細>);
    Rt.DrawLine (MyPen, <座標>, <座標>);


    座標的部分我有試著將兩個座標設定為相同卻無法正常顯示出來

    以下幾個問題整理一下:
    1. 我要如何改變畫布的起始座標呢?
    2. 在畫布上畫 ,不是橢圓喔
    3. 另外我畫圖上去以後,需要再存檔嗎?否則介面收放以後圖形就不見了?
    4. 另外將Dispose放在button中,假設記憶體終沒有東西就會變成例外處理,那請問要放在甚麼地方才正確呢?
            private void button2_Click(object sender, EventArgs e)
            {
                Rt.Clear(Color.White); //清除畫布
                Rt.Dispose();              //釋放記憶體空間
            }


    小弟目前正在研究用雷射測距儀,直接在介面上利用sensor繪出地圖,感請各位先進指導一下。

    2009年7月9日 上午 09:48

解答

  • 1.
    Graphics.TranslateTransform 方法

    透過將指定的轉譯放置在此 Graphics 的變換矩陣之前,變更座標系統的原點。

    http://msdn.microsoft.com/zh-tw/library/system.drawing.graphics.translatetransform(VS.80).aspx

     

    2.DrawLine起點終點設一樣就好

    Graphics.DrawLine 方法

    繪製連接由座標對所指定的兩個點之直線。

    http://msdn.microsoft.com/zh-tw/library/system.drawing.graphics.drawline(VS.80).aspx

     

    3.要看你怎麼秀,不存檔也是可以讓他不會消失

    像是在Paint事件畫上圖案

    或是畫在Bitmap後塞給PictureBox

     

    4.這是當然的

    你釋放後呼叫就會這樣

    若一直要使用畫布的話

    可以放到解構子釋放


    http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 Heracles_Lo 2009年7月11日 上午 07:37
    2009年7月9日 上午 10:55

所有回覆