一、System.Drawing 命名空间简述

System.Drawing 命名空间提供访问 GDI+ 的基本功能,更高级的功能在 System.Drawing.Drawing2D,System.Drawing.Imaging 和 System.Drawing.Text 命名空间

程序集: System.Drawing.dll

二、System.Drawing.Image 简述

Image 类:为源自 Bitmap 和 Metafile 的类提供功能的抽象基类

命名空间: System.Drawing

程序集:   System.Drawing.dll

原型定义:

[SerializabaleAttribute]
[ComVisibleAttribute(true)]
[TypeConverterAttribute(typeof(ImageConverter))]
public abstract class Image : MarshalByRefObject, ISerializable, ICloneable, IDisposable

常用实例属性:

Height            获取当前图像实例的 高度(以像素为单位)

Width            获取当前图像实例的 宽度(以像素为单位)

HorizontalResolution          获取当前图像实例的水平分辨率(像素/英寸)

VerticalResolution             获取当前图像实例的垂直分辨率(像素/英寸)

PhysicalDimension           获取当前图像的宽度和高度。

RawFormat                    获取当前图像格式

PixelFormat                  获取当前Image的像素格式

代码:

 using System;
using System.Drawing; class App
{
static void Main()
{
var img = Image.FromFile(@"图像格式.jpg"); // 图像格式.png 改扩展名而来
Console.WriteLine(img.Height);
Console.WriteLine(img.Width);
Console.WriteLine(img.HorizontalResolution);
Console.WriteLine(img.VerticalResolution);
Console.WriteLine(img.PhysicalDimension);
Console.WriteLine(img.PhysicalDimension.Width);
Console.WriteLine(img.PhysicalDimension.Height);
Console.WriteLine(img.RawFormat);
Console.WriteLine(img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png)); // 是否是 Png 格式
Console.WriteLine(img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg)); // 是否是 jpg 格式 ,不是扩展名氏 jpg 不等于图像格式就是 Jpeg
Console.WriteLine(img.PixelFormat);
}
}

效果

附本小节代码下载

常用静态方法:

public static Image FromFile(string filename)                  从指定文件创建 Image

public static Image FromStream(Stream stream)            从指定数据流创建 Image

常用实例方法:

public Image GetThumbnailImage(int thumbWidth,int thumbHeight,System.Drawing.Image.GetThumbnailImageAbort callback,IntPtr callbackData)       返回此 Image 的缩略图

RotateFlip                                     旋转

public void Save(string filename)       将该 Image 保存到指定的文件或流

代码:

using System;
using System.Drawing; class App
{
static void Main()
{
using(var img = Image.FromFile(@"图像格式.jpg"))
{
// 生成缩略图
var thumbImg = img.GetThumbnailImage(,,()=>{return false;},IntPtr.Zero);
thumbImg.Save(@"图像格式_thumb.jpg"); // 图像翻转
var newImg = img.Clone() as Image;
newImg.RotateFlip(RotateFlipType.Rotate180FlipX);
newImg.Save(@"图像格式_X轴翻转180度.jpg");
}
}
}

附本小节代码下载

类库探源——System.Drawing的更多相关文章

  1. 类库探源——System.Drawing.Bitmap

    一.System.Drawing.Bitmap Bitmap 类: 封装GDI+ 位图,此位图由图形图像及其属性的像素数据组成.Bitmap 是用于处理由像素定义的图像的对象 命名空间: System ...

  2. 类库探源——System.Delegate

    一.MSDN 描述 Delegate 类:表示委托,委托是一种数据结构,它引用静态方法或引用类实例及该类的实例方法.(是不是感觉很像C语言中的函数指针 :) ) 命名空间: System 程序集:   ...

  3. 类库探源——System.Configuration 配置信息处理

    按照MSDN描述 System.Configuration 命名空间 包含处理配置信息的类型 本篇文章主要两方面的内容 1. 如何使用ConfigurationManager 读取AppSetting ...

  4. 类库探源——System.Math 和 Random

    一.System.Math Math类:为三角函数.对数函数和其他通用数学函数提供常数和静态方法 命名空间: System 程序集 :   mscorlib.dll 继承关系: 常用属性: Math. ...

  5. 类库探源——System.ValueType

    一.MSDN描述 ValueType 类:提供值类型的基类 命名空间: System 程序集:   mscorlib.dll 继承关系: 值类型包括:字符.整数.浮点.布尔.枚举.结构(其实字符.整数 ...

  6. 类库探源——System.Environment

    Environment 类: 提供有关当前环境和平台的信息以及操作它们的方法.此类不能被继承. 命名空间: System 程序集:   mscorlib.dll 继承关系: 常用属性(字段)和方法: ...

  7. 类库探源——System.Exception

    一.MSDN描述 Exception 类: 表示在应用程序执行期间发生的错误 命名空间 : System 程序集:   mscorlib.dll 继承关系: 常用属性(含字段)和方法: 1. 属性Me ...

  8. 类库探源——System.String

    一.MSDN描述 String 类: 表示文本,即一系列的 Unicode 字符 命名空间 : System 程序集 : mscorlib.dll 继承关系: 备注: 1. 字符串是 Unicode ...

  9. 类库探源——System.Type

    一.MSDN 描述 Type 类:表示类型声明:类类型.接口类型.数组类型.值类型.枚举类型.类型参数.泛型类型定义.以及开放或封闭构造的泛型类型. 命名空间: System 程序集:mscorlib ...

随机推荐

  1. 洛谷P1220 关路灯

    洛谷1220 关路灯 题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关 ...

  2. mysql日志清理

    mysql bin-log 日志清理 发现mysql数据库目录中bin-log中日志文件非常大 [root@localhost var]# du -sh mysql-bin* | sort 1020K ...

  3. POJ3009 Curling 2.0

    正式做POJ的第一题,做出来后又看了别人的代码,就又完善了一下,也通过了.参考 http://blog.sina.com.cn/s/blog_4abcd9bc0100phzb.html 改了之后觉得写 ...

  4. java 关于多态的一点总结

    http://www.cnblogs.com/wenruo/p/5352683.html 一直不是很理解多态,今天看了两遍<think in java>第八章,试着总结一下. 多态的本质就 ...

  5. 原来DataTable的Distinct竟如此简单![转]

    本文转自:http://www.cnblogs.com/BlueFly/archive/2009/01/08/1372151.html 有时我们需要从DataTable中抽取Distinct数据,以前 ...

  6. pm 2.5

    定陵</a></div><div class="staaqi"><span class="label pmsmall" ...

  7. NOIopenjudge 407:Heritage

    总时间限制:  5000ms 内存限制:  65536kB 描述 Your rich uncle died recently, and the heritage needs to be divided ...

  8. RSA客户端js加密服务器C#解密(含源码)

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  9. SecureCRT学习之道:SecureCRT经常使用快捷键设置与字体设置方法

    1:假设不想每次登陆都输入password,能够在你打开的session里邮件session option->login action 选中automate logon 双击ogin 和assw ...

  10. SilkTest天龙八部系列3-动态父窗口

    SilkTest中用parent语句来声明某个window的父窗口,这会帮助silktest在识别该对象时检查其是否是由该父窗口打开,如果parent语句申明的父窗口并不存在,那么该对象无法被正确识别 ...