zoukankan      html  css  js  c++  java
  • GDI+画图时Graphics的获得

    前提:我想用一个PictureBox显示一张全屏截图的图片,然后根据一个全屏的坐标在图像上标注出一个20X20的矩形。

    画图使用Graphics对象,从一个PictureBox创建Graphics可以使用2种方法。

    using(Graphics graphics = pictureBox.CreateGraphics())
    {
    graphics.DrawRectangle(
    new Pen(Color.Red), rect);
    }

    使用这种方法发出的矩形框,rect的坐标系使用的PictureBox本身的坐标系。我加载的图片是全屏的截图,使用的坐标也是屏幕坐标,所以还得把屏幕坐标转化为PictureBox的Image坐标。非常麻烦啊,而且矩形会闪一下就消失,估计要重写PictureBox的OnPaint方法才能一直显示矩形了。

    后来发现第二种方法。

    using(Graphics graphics = Graphics.FromImage(pictureBox.Image))
    {
    graphics.DrawRectangle(
    new Pen(Color.Red), rect);
    }

    坐标直接用屏幕的坐标就可以,而且矩形不会闪烁一下就消失。

  • 相关阅读:
    周末毒鸡汤时间
    MySQL 8.0发布,你熟悉又陌生的Hash Join?
    你可能需要的Kafka面试题与答案整理
    流程控制结构
    视图
    事务
    常用约束
    sql99语法的连接查询
    数据类型
    数据操作语句(DML)
  • 原文地址:https://www.cnblogs.com/Xavierr/p/2149708.html
Copyright © 2011-2022 走看看