C# 2.0 Graphics 画雪人

复制代码
  1using System;
  2using System.Collections.Generic;
  3using System.ComponentModel;
  4using System.Data;
  5using System.Drawing;
  6using System.Text;
  7using System.Windows.Forms;
  8using System.Drawing.Printing;
  9
 10namespace PrintTest
 11{
 12    /// <summary>
 13    /// 打印雪人图像窗体
 14    /// 2009-02-16 涂聚文
 15    /// </summary>
 16    public partial class printDram : Form
 17    {
 18        /// <summary>
 19        /// 打印雪人图像窗体
 20        /// </summary>
 21        public printDram()
 22        {
 23            InitializeComponent();
 24        }
 25        /// <summary>
 26        /// 窗体加载
 27        /// </summary>
 28        /// <param name="sender"></param>
 29        /// <param name="e"></param>
 30        private void printDram_Load(object sender, EventArgs e)
 31        {
 32
 33        }
 34        /// <summary>
 35        /// 打印文档
 36        /// </summary>
 37        /// <param name="sender"></param>
 38        /// <param name="e"></param>
 39        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
 40        {
 41            const int MID = 150;
 42            const int Top = 50;
 43            this.BackColor = Color.Cyan;
 44            this.Width = 310;
 45            this.Height = 260;
 46            this.Text = "simple graphics snowman";
 47
 48            Pen blue = new Pen(Color.Blue);
 49            Pen yellow = new Pen(Color.Yellow);
 50            Pen white = new Pen(Color.White);
 51            Pen red = new Pen(Color.Red);
 52            Pen black = new Pen(Color.Black);
 53            Brush brWhite = white.Brush;
 54            Brush brBlack = black.Brush;
 55            Brush brRed = red.Brush;
 56            Graphics g = e.Graphics;
 57
 58            g.DrawRectangle(blue, 017530050);  //sky
 59            g.DrawEllipse(yellow, -40-408080); //sun
 60            g.FillEllipse(brWhite, MID - 20Top4040); //head
 61            g.FillEllipse(brRed, MID - 35Top + 357050); //top
 62            g.FillEllipse(brRed, MID - 50Top + 8010060); //bot
 63            g.FillEllipse(brBlack, MID - 10Top + 1055); //l.eye
 64            g.FillEllipse(brBlack, MID + 5Top + 1055);//r.eye
 65            g.DrawArc(black, MID - 10Top + 202010-190-160);//(:
 66            //arms
 67            g.DrawLine(black, MID - 25Top + 60Top - 50, MID + 40);
 68            g.DrawLine(black, MID + 25Top + 60, MID + 55Top + 60);
 69
 70            g.DrawLine(black, MID - 20Top + 5, MID + 20Top + 5);//hat,brim,top
 71            g.FillRectangle(brBlack, MID - 15Top - 203025);
 72
 73        }
 74        /// <summary>
 75        /// 打印
 76        /// </summary>
 77        /// <param name="sender"></param>
 78        /// <param name="e"></param>
 79        private void btnprint_Click(object sender, EventArgs e)
 80        {
 81            if (MessageBox.Show("是否打印预览?", "打印预览", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
 82            {
 83                this.printPreviewDialog1.Document = this.printDocument1;
 84                printPreviewDialog1.ShowDialog();
 85            }
 86            else
 87            {
 88                this.printDocument1.Print();//直接打印
 89            }
 90        }
 91        /// <summary>
 92        /// 窗体外观
 93        /// </summary>
 94        /// <param name="sender"></param>
 95        /// <param name="e"></param>
 96        private void printDram_Paint(object sender, PaintEventArgs e)
 97        {
 98            const int MID = 150;
 99            const int Top = 50;
100            this.BackColor = Color.Cyan;
101            this.Width = 310;
102            this.Height = 260;
103            this.Text = "simple graphics snowman";
104
105            Pen blue = new Pen(Color.Blue);
106            Pen yellow = new Pen(Color.Yellow);
107            Pen white = new Pen(Color.White);
108            Pen red = new Pen(Color.Red);
109            Pen black = new Pen(Color.Black);
110            Brush brWhite = white.Brush;
111            Brush brBlack = black.Brush;
112            Brush brRed = red.Brush;
113            Graphics g = e.Graphics;
114
115            g.DrawRectangle(blue, 017530050);  //sky
116            g.DrawEllipse(yellow, -40-408080); //sun
117            g.FillEllipse(brWhite, MID - 20Top4040); //head
118            g.FillEllipse(brWhite, MID - 35Top + 357050); //top
119            g.FillEllipse(brWhite, MID - 50Top + 8010060); //bot
120            g.FillEllipse(brBlack, MID - 10Top + 1055); //l.eye
121            g.FillEllipse(brBlack, MID + 5Top + 1055);//r.eye
122            g.DrawArc(black, MID - 10Top + 202010-190-160);//(:
123            //arms
124            g.DrawLine(black, MID - 25Top + 60Top - 50, MID + 40);
125            g.DrawLine(black, MID + 25Top + 60, MID + 55Top + 60);
126
127            g.DrawLine(black, MID - 20Top + 5, MID + 20Top + 5);//hat,brim,top
128            g.FillRectangle(brBlack, MID - 15Top - 203025);
129        }
130    }
131}
复制代码
posted @   ®Geovin Du Dream Park™  阅读(686)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
< 2009年2月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
1 2 3 4 5 6 7
8 9 10 11 12 13 14
点击右上角即可分享
微信分享提示