GDI+ 支持的图片文件格式
您可以使用许多标准格式将位图储存在磁盘文件中。GDI+ 支持以下各种图片文件格式。
o 位图 (BMP)
位图是 Windows 用来储存设备无关和与应用程序无关的图片的标准格式。文件头决定了指定的位图文件的每个像素位数 (1、4、8、15、24、32 或 64)。常见的位图文件为每像素 24 位。通常 BMP 档不会被压缩,因此并不适合透过因特网传输。
o 图象交换格式 (GIF)
GIF是Web网页上常见的图片格式。GIF适用于线条图形、具有实色区块的图片和色彩之间具有明显界线的图片。GIF可被压缩而且不会在压缩过程中遗失任何信息;解压缩后的影像将和原始影像完全相同。GIF的色彩可指定为透明,这样一来影像则可以显示该影像的Web网页作为背景色彩。GIF影像的序列可储存在单一档案中,作为动画GIF。GI最多储存为每像素8位,这样便将它们限制在256色彩。
o 联合图像专家组(JPEG)
JPEG是一种压缩结构,适用于自然景观图片,例如扫描的照片。有些信息可能会在压缩过程中丧失,但肉眼并无法看出变化。JPEG可储存每像素24位,因此它们可以显示超过1千6百万个色彩。JPEG不支持透明效果或动画。
您可以设定JPEG图片文件的压缩比,但压缩比越高 (档案越小),便会丢失更多信息。通常肉眼无法辨识以20:1的压缩比所产生的图片和源文件之间的差异。下图将显示BMP图片和两个从该BMP图片压缩而来的JPEG图片。第一个JPEG的压缩比率为4:1,第二个JPEG的压缩比率约为8:1。
JPEG 压缩不适用于线条图形、实色区块和明显的界线。下图将显示一个BMP和两个JPEG及一个 GIF。这两个JPEG和GIF都是从BMP压缩而来的。GIF的压缩比率为4:1、较小的JPEG 为4:1,较大的JPEG为8:3。请注意,GIF中的线条间仍然出现明显边界,但JPEG中的边界似乎比较模糊。
JPEG 是一种压缩公式,而非文件格式。JPEG档案交换格式(JFIF)才是通常来储存和传送图片的文件格式,它们是根据JPEG公式进行压缩。Web浏览器显示的JFIF文件将使用.jpg扩展名。
o 可交换图象文件 (Exif)
EXIF 是用于数字相机所拍摄的相片文件格式。EXIF 文件包含一个根据 JPEG规范来压缩的图片。EXIF文件同时还包含了照片信息 (拍摄日期、快门速度、曝光时间等信息) 和相机信息 (制造商、型号等信息)。
o 可移植网络图片 (PNG)
PNG格式保留了许多GIF格式的优点,同时提供比GIF更强大的功能。PNG文件和GIF文件同样都不会在压缩过程中丧失任何信息。PNG文件可储存每像素8、24或48位的色彩,以及每像素1、2、4、8或16位的灰阶。相较之下,GIF档只能使用每像素1、2、4或8位。PNG文件还可储存每个像素的Alpha值,指定该像素与背景色彩混合的程度。
PNG改进了GIF渐进式显示影像的功能;当PNG收到透过网络联机传送的影像时,可以显示较佳的影像效果。PNG文件可包含Gamma修正和色彩修正信息,这样一来可将影像正确地对应到各种不同的显示装置。
o 标记图象文件格式 (TIFF)
TIFF 是一种灵活且可扩充的格式,各种平台和图片处理应用程序都支持这种格式。TIFF 文件可储存每像素任意位数的图片,并可使用各种压缩算法。单一、多页的TIFF文件可储存数个影像。影像相关信息 (扫描仪制作、主机计算机、压缩类型、方向、每像素范例等等)也可储存在档案中,并可使用标记进行排列。TIFF格式可按照需要(如情况允许而且必须增加新的标记)进行扩充。
GDI+ 支持的图片文件格式的更多相关文章
- 【C++自绘控件】如何用GDI+来显示图片
在我们制作一个应用软件的时候往往需要在窗口或控件中添加背景图.而图片不仅有BMP格式的,还有JPEG.PNG.TIFF.GIF等其它的格式.那么如何用jpg格式的图片来当背景呢? 这里用到了GDI+, ...
- iOS 图片文件格式判断、圆角图片
1.圆角图片 // 设置圆形图片(放到分类中使用) - (UIImage *)cutCircleImage { UIGraphicsBeginImageContextWithOptions(self. ...
- 自定义组件-支持PNG图片的多态GraphicButton
按钮功能使用TButton也可以解决, 但是TButton是会获得焦点的, 很多时候我们要求按钮不获得焦点, 而Speedbutton又不支持PNG图片 所以按照TSpeedbutton的代码, 重新 ...
- 如何让Ubuntu系统支持WebP图片格式
本文主要向大家介绍如何让 Ubuntu 系统支持查看 WebP 图片格式,以及如何将 WebP 转为 JPEG 或 PNG 图片格式的方法. 什么是WebP图片 Google开发并推出 WebP 图片 ...
- 使用ajax上传图片,支持图片即时浏览,支持js图片压缩后上传给服务器
使用ajax上传图片,支持图片即时浏览,支持js图片压缩后上传给服务器 ajax上传主要使用了 var reader = new FileReader() 此方法 js图片压缩主要是利用canvas进 ...
- GDI+用PNG图片做半透明异型窗口
{*******************************************************} { ...
- jdk内置类javax.imageio.ImageIO支持的图片处理格式
执行这段代码输出支持的图片处理格式 String readFormats[] = ImageIO.getReaderFormatNames(); String writeFormats[] = Ima ...
- iOS 切割圆角图片、图片文件格式判断
1.切割圆角图片 // 性能不好,适合圆角图形数量比较少的情况 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMak ...
- WTL中GDI+支持资源文件加载
WTL中GDI+支持资源文件加载 分类: WTL WTL gdi+ gdi+2013-04-22 17:16 78人阅读 评论(0) 收藏 举报 WTLGDI+c++ 今天遇到一个小问题困扰了.就是G ...
随机推荐
- WPF-学习笔记 动态修改控件Margin的值
原文:WPF-学习笔记 动态修改控件Margin的值 举例说明:动态添加一个TextBox到Grid中,并设置它的Margin: TextBox text = new TextBox(); t_gri ...
- 苏州Uber优步司机奖励政策(4月22日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 【AHOI2006】基因匹配
题面 题解 众所周知,最长公共子序列的$dp$是$\text{O}(n^2)$, 但是每一个数字只重复$5$遍,那么我们暴力匹配$25n$个点对 那么我们就可以将其变成求最长上升子序列 用二分栈或者树 ...
- TMS320VC5509驱动TLV32AIC23
1. 本次使用LINE_IN作为输入,LINE_OUT作为输出(可以插耳机),代码如下,代码经过测试,没问题,不过发现了一个很奇怪的问题没搞明白 /************************** ...
- redis基本使用
一 简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted ...
- 十一、Django认证模块--Auth模块
一.常规认证方法 我们学生管理之登录实现一文中已经了解了自己写一个登录逻辑的过程: 1.url配置 urlpatterns = [ url(r'^login/$', views.login), url ...
- ARP 地址分类 NAT技术
第1章 OSI回顾 1.1 TCP/IP协议族组成 应用层 主机到主机层 互联网层 网络接入层 1.2 总结应用层掌握的协议与端口号对应关系 http(80) telnet(23) ftp(2 ...
- Linux入门基础(七):Linux软件管理基础
源代码形式 绝大多数开源软件都是直接以源代码形式发布 源代码一般会被打包成tar.gz的归档压缩文件 程序源代码需要编译成为二进制形式之后才能够运行 源代码基本编译流程 : ./configure 检 ...
- php+mysql 数据库分表分段备份程序--宋正河
<?php //宋正河 转载请注明出处 set_time_limit(0); header('content-type:text/html;charset=utf-8'); mysql_conn ...
- Tetris(俄罗斯方块)
一天有个小朋友问我OpenGL俄罗斯方块怎么写. 俄罗斯方块分成两部分游戏逻辑和画面渲染. 1. 游戏逻辑 一个简单的俄罗斯方块的逻辑部分需要考虑的情况如下: 1. 方块的表示(坐标, 旋转, 上下左 ...