• 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);
    }

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

  • 相关阅读:
    起步学习软件开发(.Net 方向)的指导
    Lesktop开源JS控件库
    软件岗位职责
    asp.net 获取网站根目录总结
    微软是怎样做测试的
    打造WebIM
    CodeSmith 系列一
    Crack .NET
    Visual Studio IDE 实用小技巧3
    程序员公司的选择
  • 原文地址:https://www.cnblogs.com/Xavierr/p/2149708.html
Copyright © 2020-2023  润新知