类库探源——System.Drawing
一、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的更多相关文章
- 类库探源——System.Drawing.Bitmap
一.System.Drawing.Bitmap Bitmap 类: 封装GDI+ 位图,此位图由图形图像及其属性的像素数据组成.Bitmap 是用于处理由像素定义的图像的对象 命名空间: System ...
- 类库探源——System.Delegate
一.MSDN 描述 Delegate 类:表示委托,委托是一种数据结构,它引用静态方法或引用类实例及该类的实例方法.(是不是感觉很像C语言中的函数指针 :) ) 命名空间: System 程序集: ...
- 类库探源——System.Configuration 配置信息处理
按照MSDN描述 System.Configuration 命名空间 包含处理配置信息的类型 本篇文章主要两方面的内容 1. 如何使用ConfigurationManager 读取AppSetting ...
- 类库探源——System.Math 和 Random
一.System.Math Math类:为三角函数.对数函数和其他通用数学函数提供常数和静态方法 命名空间: System 程序集 : mscorlib.dll 继承关系: 常用属性: Math. ...
- 类库探源——System.ValueType
一.MSDN描述 ValueType 类:提供值类型的基类 命名空间: System 程序集: mscorlib.dll 继承关系: 值类型包括:字符.整数.浮点.布尔.枚举.结构(其实字符.整数 ...
- 类库探源——System.Environment
Environment 类: 提供有关当前环境和平台的信息以及操作它们的方法.此类不能被继承. 命名空间: System 程序集: mscorlib.dll 继承关系: 常用属性(字段)和方法: ...
- 类库探源——System.Exception
一.MSDN描述 Exception 类: 表示在应用程序执行期间发生的错误 命名空间 : System 程序集: mscorlib.dll 继承关系: 常用属性(含字段)和方法: 1. 属性Me ...
- 类库探源——System.String
一.MSDN描述 String 类: 表示文本,即一系列的 Unicode 字符 命名空间 : System 程序集 : mscorlib.dll 继承关系: 备注: 1. 字符串是 Unicode ...
- 类库探源——System.Type
一.MSDN 描述 Type 类:表示类型声明:类类型.接口类型.数组类型.值类型.枚举类型.类型参数.泛型类型定义.以及开放或封闭构造的泛型类型. 命名空间: System 程序集:mscorlib ...
随机推荐
- NOIP2015 提高组(senior) 解题报告
过了这么久才来发解题报告,蒟蒻实在惭愧 /w\ Day1 T1 [思路] 模拟 [代码] #include<iostream> #include<cstring> #inclu ...
- CodeForces 362B Petya and Staircases
题意:一个小男孩要上楼梯,他一次可以走1个台阶或2个台阶或3个台阶,但是有一些台阶是脏的,他不想走在脏台阶上.一共有n个台阶和m个脏台阶,他最开始在第1个台阶上,要走到第n个台阶.问小男孩能不能不踩到 ...
- 分享下VellLock源代码。。。VellLock正式开源
一个月前就准备发布,一直没网,今天在我同学家蹭了个网,就早点发布吧:点我获取源代码 简介地址:http://vell001.clanmark.com/forum/forum.php?mod=viewt ...
- 新浪微博、腾讯微博、QQ空间、人人网、豆瓣 一键分享API
新浪微博: http://service.weibo.com/share/share.php?url= count=表示是否显示当前页面被分享数量(1显示)(可选,允许为空) & url=将页 ...
- SQL2005以上行变行简单实现
用语法PIVOT参照:http://technet.microsoft.com/zh-cn/library/ms177410(v=sql.105).aspx
- PC-如何提高计算机的启动和关机的速度?
如何提高计算机的启动和关机的速度? 一.bios的优化设置 在bios设置的首页我们进入"advanced bios features"选项,将光标移到"frist bo ...
- 1514:数值的整数次方 @jobdu
题目1514:数值的整数次方 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:377 解决:103 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent. ...
- 拼接<a>标签相关属性
<s:iterator value="#session.funcs" id="sonbean"> <s:if test="%{#so ...
- 解决libcrypto.so.0.9.8: cannot open shared object file
文章解决的问题:安装nginx中需要libmysql.so.16包的支持,下面介绍如何安装,并建立lib的连接. 问题展示:error while loading shared libraries: ...
- Highcharts简介
最近要做一个油田油压或温度数据的监控软件,数据会秒级写到数据库中,界面上需要动态展示数据跟随时间变化. 在网上找了很多js插件,希望能够即时高效的展示数据,最终确定了使用Highcharts插件. H ...