none
【繪圖】在pictureBox中繪圖,如何自訂畫筆的顏色? RRS feed

  • 問題

  •  

    在Graphics.Drawxxx 中

     

    可以不要用pens裡面定義的顏色嗎?

     

    我想用像VB6裡面的  RGB 自訂顏色

    2007年10月24日 上午 06:40

解答

  •  

    Dear Sir

    您可以看一下 color.FromArgb 裡面多載的方法,其中有輸入RGB數值的方式。

    2007年10月24日 上午 07:16
    版主
  • Public Shared Function FromArgb ( _
    	red As Integer, _
    	green As Integer, _
    	blue As Integer _
    ) As Color

    從指定的 8 位元色彩值 (紅、綠和藍) 建立 Color 結構。Alpha 值隱含為 255 (完全不透明)。雖然這個方法允許為每個色彩元件傳遞 32 位元值,但是每個元件的值是限制為 8 位元。

     

    參數

    red

    Color 的紅色元件值。有效值為 0 到 255 之間。

    green

    Color 的綠色元件值。有效值為 0 到 255 之間。

    blue

    Color 的藍色元件值。有效值為 0 到 255 之間。

     

     

    程式碼區塊

    Private Sub PictureBox1_Paint(

    ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint

     

            ' Create pen.
            Dim blackPen As New Pen(Color.FromArgb(255, 255, 255), 3)

     

            ' Create rectangle for ellipse.
            Dim rect As New Rectangle(0, 0, 200, 100)

     

           ' Draw ellipse to screen.

            e.Graphics.DrawEllipse(blackPen, rect)

     

     

    End Sub

     

           

    程式碼區塊

     

     


           

     

     

     

     

     

    2007年10月24日 上午 07:24

所有回覆

  •  

    Dear Sir

    您可以看一下 color.FromArgb 裡面多載的方法,其中有輸入RGB數值的方式。

    2007年10月24日 上午 07:16
    版主
  • Public Shared Function FromArgb ( _
    	red As Integer, _
    	green As Integer, _
    	blue As Integer _
    ) As Color

    從指定的 8 位元色彩值 (紅、綠和藍) 建立 Color 結構。Alpha 值隱含為 255 (完全不透明)。雖然這個方法允許為每個色彩元件傳遞 32 位元值,但是每個元件的值是限制為 8 位元。

     

    參數

    red

    Color 的紅色元件值。有效值為 0 到 255 之間。

    green

    Color 的綠色元件值。有效值為 0 到 255 之間。

    blue

    Color 的藍色元件值。有效值為 0 到 255 之間。

     

     

    程式碼區塊

    Private Sub PictureBox1_Paint(

    ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint

     

            ' Create pen.
            Dim blackPen As New Pen(Color.FromArgb(255, 255, 255), 3)

     

            ' Create rectangle for ellipse.
            Dim rect As New Rectangle(0, 0, 200, 100)

     

           ' Draw ellipse to screen.

            e.Graphics.DrawEllipse(blackPen, rect)

     

     

    End Sub

     

           

    程式碼區塊

     

     


           

     

     

     

     

     

    2007年10月24日 上午 07:24
  • 謝謝!

     

    這答案對我助益良多。

    2007年10月24日 上午 10:21