C# GDI学习

GDI(Graphics Device Interface Plus)图形图像处理基础学习

一、创建Graphics对象的方式
(1)调用CreateGraphics方法创建
可以在Form窗体和pictureBox控件上绘制图形;
创建与窗体或pictureBox控件相关联的Graphics对象;
示例:Graphics mygraphics=this.CreateGraphics();

Graphics mypicture=pictureBox1.CreateGraphics();

二、从Bitmap(位图)对象创建Graphics对象

Bitmap bmp=new Bitmap(@"test.png");//从图片文件创建Bitmap对象
Graphics mybmp=Graphics.FromImage(bmp);//从Bitmap对象创建Graphics对象

三、上边的两种创建方式都有一个问题,那就是如果Form窗体缩小并遮挡掉一部分图形时,再拉开Form窗体会发现图像会丢失,这是因为winform为了减少系统资源的无谓浪费而采取的一项措施。

如果希望在窗体变化之后,仍能恢复图像显示,可以考虑使用Form窗体的Paint事件或OnPain方法。

其中OnPaint方法可以使用override关键字将其重写,其中访问修饰符必须声明为proteced。

这两个方法绘制的图形都会导致图形混乱重叠,如果需要得到完整的图形,并且不浪费系统资源需要再做处理。

四、坐标系
所有的绘图都是在一个空间中进行的,这个空间可以是Form窗体本身,也可以是可以用来绘图的控件,比如PIctureBox,这些都是用来充当容器的。为了使得图形能够准确的定位在某一个位置,需要一个坐标系。

GDI的坐标系默认原点(0,0)位于绘图的左上角,X轴正方向为水平向右,y轴正方向为垂直向下。

在GDI中,用于描述坐标的基本结构包括:Point、PointF、Size、SizeF、Rectangle和RectangleF。

Point和PointF是用来控制目标距离原点的位置的。

Size和SizeF是用来表示某个实体的大小,可以控制其宽度和高度。

Rectangle和RectangleF两者作用相同,可以用来指定一个矩形区域,并控制绘制图形在此矩形区域内的位置,此矩形区域可以控制其大小。

Point pt=new Point(20,30);
Size sz=new Size(20,30);
Rectangle rect=new Rectangle(60,20,160,100);//Rectangle(float x,float y,float width,float height);

五、GDI提供基本的绘图工具包括画笔(Pen)和笔刷(Brush),并且可以控制画笔和笔刷的颜色,还可以控制文本字体。

  • 0
    点赞
  • 2
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

dark sky star

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值