画布

private void Form1_Paint(object sender, PaintEventArgs e)
{
//画直线
//Graphics g = this.CreateGraphics();//实例化一个图像对象(不能使用new的形式);this指的是form1创建个图像对象;在初始化一个图像对象时,必须关联一个图像输出设备。
//g.DrawLine(Pens.Red, 0, 0, 100, 100);//绘制条直线(这就是为什么要关联个设备)
//画矩形
Graphics g = this.pictureBox1.CreateGraphics();
g.DrawRectangle(Pens.Blue, 10, 10, 60, 100);//画一个坐标为10,10宽为60,高为100的矩形
//e画
e.Graphics.DrawRectangle(Pens.Blue, 10, 10, 60, 100);//e.Graphics不用关联设备,就是为当前窗体画
//
}

private void button2_Click(object sender, EventArgs e)
{
if (this.openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)//如果打开了一个文件
{
Image img = Image.FromFile(this.openFileDialog1.FileName);//从指定文件中创建个image对象,第一个参数是文件名;得到image
Graphics g = Graphics.FromImage(img);//从image创建见个对象;将图像放到Graphics中(相当于将画裱起来);有时需要
Pen p = new Pen(Color.Black, 10);//定义个pen对象,10宽度
//如果要往img上再画些东西就需要Graphics对象了
g.DrawLine(Pens.Red, 0, 100, 800, 100);//在img上加线
g.DrawLine(Pens.Red, 0, 1020, 800, 1020);//在img上加线
this.pictureBox1.Image = img;//相当于挂起来
//画圆
//用外切矩形的左上角坐标为位置
g.DrawEllipse(Pens.Green, 10, 10, 100, 100);
//填充圆
g.FillEllipse(Brushes.Green, 10, 10, 100, 100);
//初始化Color类
Color c1 = Color.FromArgb(255, 0, 0);//rgb值
Pen pen2 = new Pen(c1, 20);//用c1定义pen2笔
g.DrawLine(pen2, 0, 100, 800, 100);//在img上加线
//透明度当定义color时参数为四个第一个就是透明度后三个分别是rgb;0时完全透明
Color c2 = Color.FromArgb(255, 10, 1,20);

//画刷
Brush b = Brushes.Blue;
SolidBrush sb = new SolidBrush(c2);//实心画刷
Image img1 = Image.FromFile("文件路径");
TextureBrush tb = new TextureBrush(img1);
//画扇形
g.FillPie(tb, 0, 0, 89, 89, 90, 270);//外切矩形的左上角坐标为位置,宽高,角度(顺时针转)
//画矩形(矩形两个坐标左上右下)

//画弧
g.DrawArc(pen2, 0, 0, 400, 400, 90, 270);//外切矩形的开始位置
//写字
g.DrawString("heibei",new Font("宋体",180),b,0,0);
// 画图
g.DrawImage(img1,img.Width-img1.Width-20,img1.Height-img1.Height-20);
img.Save("路径");
this.pictureBox1.Image=img;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值