Visual Basic 2005 - 如何将色彩字符串转换成 Color 结构

Visual Basic 2005 - 如何色彩字符串转换 Color 结构

 

之前有询问,如何字符串转换成色彩,当时可以利用 ColorDialog 来让户选色。不过这样做的缺点,就是以限制用只能取特定的色彩。其,要代表色彩的字符串转换 Color 结构,只需使用 Color.FromName 方法即可。

 

是我所撰的程序,它会利用用户从 ComboBox 中所取的色彩字符串来绘制文字。重点就在于使用 Color.FromName 方法色彩字符串转换 Color 结构兹将程序代完整列示如下: 

 

Option Strict On
Imports
System.Drawing.Drawing2D

Public Class Form1
 
Private Sub Form1_Load(ByVal sender As System.Object, _
   
ByVal e As System.EventArgs) Handles MyBase.Load
   
Me.ComboBox1.Items.Add("Red")
   
Me.ComboBox1.Items.Add("Black")
   
Me.ComboBox1.Items.Add("Yellow")
   
Me.ComboBox1.Items.Add("Tomato")
   
Me.ComboBox1.Items.Add("SandyBrown")
   
Me.ComboBox1.Items.Add("PowderBlue")
 
End Sub

  Private Sub btnBrushText_Click(ByVal sender As System.Object, _
   
ByVal e As System.EventArgs) Handles btnBrushText.Click

   
Dim textSize As SizeF
   
Dim g As Graphics
   
Dim myBrush As Brush
   
Dim myFont As New Font("Times New Roman", 50, FontStyle.Regular)

   
' 根据 PictureBox 控件建立一 Graphics 并清除其容。
    g = PictureBox1.CreateGraphics()
    g.Clear(Color.White)

   
' 取得用来绘制文字的所需大小。
    textSize = g.MeasureString(TextBox1.Text, myFont)

   
' 取之色彩字符串转换 Color 结构
  
 Dim myBrushColor As Color = _
        Color.FromName(
Me.ComboBox1.SelectedItem.ToString)

    myBrush =
New SolidBrush(myBrushColor)

   
' 制文字。
    g.DrawString(TextBox1.Text, myFont, myBrush, _
            (PictureBox1.Width - textSize.Width) / 2, _
            (PictureBox1.Height - textSize.Height) / 2)
 
End Sub
End
Class

 

 

章立民究室敬上

期待更多精彩,敬请关注:

http://www.china-pub.com/static/jsj_zlm_060824.html

 

posted on 2006-11-02 16:27  章立民研究室  阅读(2291)  评论(0编辑  收藏  举报

导航