zoukankan      html  css  js  c++  java
  • 简单的C#进行图片操作

      最近做东西,需要在一个服务器已经存在的图片上,在上面画一些标注(只是简单的圆形矩形文字之类)。以前倒还真没有做过图形操作,不过听说挺简单的。就问了一下,大家说使用Graphics类。
    那么,就可以简单得到下面的代码了。

     1        // 得到图片
     2        System.Drawing.Image img = System.Drawing.Image.FromFile ( this.TextBox1.Text );
     3        Graphics g = Graphics.FromImage ( img );
     4        Pen p = new Pen ( Color.White, 2 );
     5        g.DrawImage ( img, 1010 );
     6        
     7        // 画圆和文字
     8        g.DrawEllipse ( p, 101055 );
     9        g.DrawString ( "这里是圆"new Font ( "宋体"9 ), Brushes.White, new PointF ( 2020 ) );
    10
    11        // 填充一个圆
    12        g.FillEllipse ( Brushes.White, 101055 );
    13
    14        // 显示到页面上,不生成真正的文件
    15        Response.ContentType = "image/gif";
    16        img.Save ( Response.OutputStream, ImageFormat.Jpeg );
    这样在页面上就显示一个图片了。并且画了一个圆。

    PS:用一个笨方法把多个图合并到一个图里面:
     1// 合并四张图
     2// 96*96的图
     3System.Drawing.Image imgBig = System.Drawing.Image.FromFile ( "c:\\qcd_logo2.PNG" );
     4// 48*48的图
     5System.Drawing.Image img = System.Drawing.Image.FromFile ( "c:\\qcd_logo.bmp" );
     6Graphics g = Graphics.FromImage ( imgBig );
     7g.DrawImage ( img, 00 );
     8g.DrawImage ( img, 490 );
     9g.DrawImage ( img, 049 );
    10g.DrawImage ( img, 4949 );

    PS2:用一个方法截取合并后的图
     1// 144*144的图
     2        System.Drawing.Image imgBig = System.Drawing.Image.FromFile ( "c:\\qcd_logo2.PNG" );
     3// 48*48的图
     4        System.Drawing.Image img = System.Drawing.Image.FromFile ( "c:\\qcd_logo.bmp" );
     5        Graphics g = Graphics.FromImage ( imgBig );
     6        Pen p = new Pen ( Color.Red, 2 );
     7// 全部合并,即3*3
     8        g.DrawImage ( img, 00 );
     9        g.DrawImage ( img, 490 );
    10        g.DrawImage ( img, 049 );
    11        g.DrawImage ( img, 4949 );
    12        g.DrawImage ( img, 970 );
    13        g.DrawImage ( img, 097 );
    14        g.DrawImage ( img, 9797 );
    15        g.DrawImage ( img, 4997 );
    16        g.DrawImage ( img, 9749 );
    17        g.DrawEllipse ( p, 49491010 );
    18        g.DrawString ( "这是圆"new Font ( "宋体"9 ), Brushes.Red, new PointF ( 5555 ) );
    19
    20// 切换到小图
    21        g = Graphics.FromImage ( img );
    22        // 截取的大图范围
    23        Rectangle rect = new Rectangle ( 49494848 );
    24// 截取大图
    25        g.DrawImage ( imgBig, 00, rect, GraphicsUnit.Pixel );
    26
    27        // 显示到页面上,不生成真正的文件
    28        Response.ContentType = "image/gif";
    29        img.Save ( Response.OutputStream, ImageFormat.Jpeg );

  • 相关阅读:
    jmeter测试mysql数据库之JDBC请求
    接口测试浅谈
    python import xxx 与 from xxx import xx 模块引入的区别
    交互模式下测试python代码及变量的四则运算
    python入门之一python安装及程序运行
    zabbix命令之:zabbix_get命令
    snmpwalk工具使用
    zabbix基础知识
    Centos7.5 rpm安装zabbix_agent4.0.3
    mysql常用命令
  • 原文地址:https://www.cnblogs.com/fyan888/p/DrawImage.html
Copyright © 2011-2022 走看看