yarshray:
怎写呀?能讲讲思路吗?

解决方案 »

  1.   

    下面是JAVASCIPE实现的:
    http://www.csdn.net/cnshare/soft/6/6557.shtm
    我有VC实现的,C#想想
      

  2.   

    在图形编程中,默认的图形度量单位是象素。不过,你可以通过修改PageUnit属性来修改图形的度量单位,可以是英寸或是毫米等。实现方法如下: Graphics g = e.Graphics; g.PageUnit = GraphicsUnit.Inch 
    操作颜色选择对话框: 在实际运用特别是图形图像编程过程中,我们可能会经常碰到颜色选择对话框(以及下面要提到的字体选择对话框)。使用颜色选择对话框,我们可以让用户来选择系统预定的颜色以及用户自定义的颜色。在使用颜色选择对话框之前,我们必须先创建一个ColorDialog类型的对象: ColorDialog cd = new ColorDialog(); 然后,我们就可以用ShowDialog()方法来显示颜色选择对话框了。之后,就可以通过调用用户的颜色选择进行相关的图形操作了。 以下,我给大家一个实例。该实例中有一个按钮和一个文本框,通过点击按钮可以调出颜色选择对话框,根据用户的颜色选择就可以设置文本框的背景颜色了。 using System; using System.Drawing; using System.Windows.Forms; 
    public class Clr:Form{ Button b1 = new Button(); TextBox tb = new TextBox(); ColorDialog clg = new ColorDialog(); 
    public Clr(){ b1.Click += new EventHandler(b1_click); b1.Text = "选择颜色"; tb.Location = new Point(50,50); 
    this.Controls.Add(b1); this.Controls.Add(tb); } 
    public void b1_click(object sender, EventArgs e){ clg.ShowDialog(); tb.BackColor = clg.Color; } 
    public static void Main() { Application.Run(new Clr()); } } 
    操作字体选择对话框: 字体是图形编程的一个重要组成部分,通过设置不同的字体,你可以在程序中达到不同的视觉效果。和以上的颜色选择对话框的创建差不多,你可以很方便地创建一个字体选择对话框,并通过它来让用户选择其所需的字体。 下面同样给出一个实例,这个实例和上面的实例差不多,只是用来字体选择对话框代替了原来的颜色选择对话框,最后是根据用户的字体选择来设置文本框的字体。 using System; using System.Drawing; using System.Windows.Forms; 
    public class Fonts:Form { Button b1 = new Button(); TextBox tb = new TextBox(); FontDialog flg = new FontDialog(); 
    public Fonts() { b1.Click += new EventHandler(b1_click); b1.Text = "选择字体"; tb.Location = new Point(50,50); 
    this.Controls.Add(b1); this.Controls.Add(tb); } 
    public void b1_click(object sender, EventArgs e) { clg.ShowDialog(); tb.FontName = flg.Font; } 
    public static void Main() { Application.Run(new Fonts()); } } 
    使用System.Drawing.Drawing2D名字空间: 如果你有一些图形图像编程的经验,那么你一定知道画笔和画刷的概念。它们在图形编程有非常广泛的运用。System.Drawing.Drawing2D名字空间提供了相当强大的功能,能让开发者很容易地操作画笔以及画刷对象。比如,你可以通过设置画笔的DashStyle属性(有Dash、DashDot、Solid等风格)来确定直线的风格。同样,通过运用SolidBrush、HatchBrush、GradientBrush等画笔你可以很轻易地修改被填充区域的外观。比如,你可以用SolidBrush将一个矩形区域用许许多多不同粗细的直线来填充。那么,我们在什么时候运用画笔和画刷呢?就像上面的例子中那样,通常一个图形轮廓(运用DrawXXX()方法)是用画笔对象来实现的,而一个填充区域(运用FillXXX()方法)则是用画刷对象来实现的。 
      

  3.   

    ColorDialog 组件 
     
    此对话框显示颜色列表,并且返回所选的颜色。 
     
    与前两种对话框不同,ColorDialog 组件很容易实现其主要功能(挑选颜色)。选取的颜色将成为 Color 属性的设定值。因此,使用颜色就和设定属性值一样简单。在下面的例子中,按钮控制的 Click 事件将会开启一个 ColorDialog 组件。一旦用户选中某种颜色,并且单击了 OK ,按钮的背景将被设成所选的颜色。本例假设存在名为 Button1 的 Button 组件和名为 ColorDialog1 的 ColorDialog 组件。 
     
    ' Visual Basic 
    Private Sub Button1_Click(ByVal sender As System.Object, _ 
    ByVal e As System.EventArgs) Handles Button1.Click 
    If ColorDialog1.ShowDialog() = DialogResult.OK Then 
    Button1.BackColor = ColorDialog1.Color 
    End If 
    End Sub 
     
    // C# 
    private void button1_Click(object sender, System.EventArgs e) 

    if(colorDialog1.ShowDialog() == DialogResult.OK) 

    button1.BackColor = colorDialog1.Color; 


     
     
    ColorDialog 组件具有 AllowFullOpen 属性。当其设为 False 的时候,Define Custom Colors 按钮将会失效,此时用户只能使用预定义的调色板。此外,它还有一个 SolidColorOnly 属性,当其设为 true 时,用户将不能使用抖动颜色。 
     
    FontDialog 组件 
     
    此对话框允许用户选择字体,以改变其 weight 和 size 等属性。 
     
    被选中的字体将成为 Font 属性的设定值。因此,使用字体也和设定属性值一样简单。在本例通过 Button 控件的 Click 事件调用 FileDialog 组件。当用户选中一个字体,并且单击 OK 的时候,TextBox 控件的 Font 属性将被设成所选的字体。本例假设存在名为 Button1 的 Button 控件,名为 TextBox1 的 TextBox 控件和名为 FontDialog1 的 FontDialog 组件。 
     
    ' Visual Basic 
    Private Sub Button1_Click(ByVal sender As System.Object, _ 
    ByVal e As System.EventArgs) Handles Button1.Click 
    If FontDialog1.ShowDialog() = DialogResult.OK Then 
    TextBox1.Font = FontDialog1.Font 
    End If 
    End Sub 
     
    // C# 
    private void button1_Click(object sender, System.EventArgs e) 

    if(fontDialog1.ShowDialog() == DialogResult.OK) 

    textBox1.Font = fontDialog1.Font; 


     
    FontDialog 元件还包括 MinSize 和 MaxSize 属性,它们决定了允许用户选择的字体的最小和最大点数;还有一个 ShowColor 属性,当其设为 True 时,用户可以从对话框的下拉列表中选取字体的颜色。 
      

  4.   

    winform下就要用ColorDialog就可以了webform下要用javascript写的方便些