您可以使用许多标准格式将位图储存在磁盘文件中。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+ 支持的图片文件格式的更多相关文章

  1. 【C++自绘控件】如何用GDI+来显示图片

    在我们制作一个应用软件的时候往往需要在窗口或控件中添加背景图.而图片不仅有BMP格式的,还有JPEG.PNG.TIFF.GIF等其它的格式.那么如何用jpg格式的图片来当背景呢? 这里用到了GDI+, ...

  2. iOS 图片文件格式判断、圆角图片

    1.圆角图片 // 设置圆形图片(放到分类中使用) - (UIImage *)cutCircleImage { UIGraphicsBeginImageContextWithOptions(self. ...

  3. 自定义组件-支持PNG图片的多态GraphicButton

    按钮功能使用TButton也可以解决, 但是TButton是会获得焦点的, 很多时候我们要求按钮不获得焦点, 而Speedbutton又不支持PNG图片 所以按照TSpeedbutton的代码, 重新 ...

  4. 如何让Ubuntu系统支持WebP图片格式

    本文主要向大家介绍如何让 Ubuntu 系统支持查看 WebP 图片格式,以及如何将 WebP 转为 JPEG 或 PNG 图片格式的方法. 什么是WebP图片 Google开发并推出 WebP 图片 ...

  5. 使用ajax上传图片,支持图片即时浏览,支持js图片压缩后上传给服务器

    使用ajax上传图片,支持图片即时浏览,支持js图片压缩后上传给服务器 ajax上传主要使用了 var reader = new FileReader() 此方法 js图片压缩主要是利用canvas进 ...

  6. GDI+用PNG图片做半透明异型窗口

    {*******************************************************} {                                          ...

  7. jdk内置类javax.imageio.ImageIO支持的图片处理格式

    执行这段代码输出支持的图片处理格式 String readFormats[] = ImageIO.getReaderFormatNames(); String writeFormats[] = Ima ...

  8. iOS 切割圆角图片、图片文件格式判断

    1.切割圆角图片 // 性能不好,适合圆角图形数量比较少的情况 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMak ...

  9. WTL中GDI+支持资源文件加载

    WTL中GDI+支持资源文件加载 分类: WTL WTL gdi+ gdi+2013-04-22 17:16 78人阅读 评论(0) 收藏 举报 WTLGDI+c++ 今天遇到一个小问题困扰了.就是G ...

随机推荐

  1. Cannot find an exact (case-sensitive) match for 'crtbp.m

    http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=277326&page=1&extra=#pid3296048

  2. 一维码EAN 13简介及其解码实现(zxing-cpp)

    一维码EAN 13:属于国际标准条码, 由13个数字组成,为EAN的标准编码型式(EAN标准码). 依结构的不同,EAN条码可区分为: 1.  EAN 13码: 由13个数字组成,为EAN的标准编码型 ...

  3. bzoj 4689: Find the Outlier

    数据不大,枚举哪个式子错了,对剩下的d+2个式子随意选d+1个高斯消元,然后代入剩下的式子检查是否正确,正确就是那一个式子错了 #include<bits/stdc++.h> #defin ...

  4. Kafka系列一 基本安装

    一 配置文件(下载.解压.跳过) # Licensed to the Apache Software Foundation (ASF) under one or more # contributor ...

  5. git删除所有提交历史记录

    这种方式是最快最有效的 进项目根目录启动git bash,然后执行这些即可 最后的 git push -f origin master 会失败,直接在idea里push就能成功了 .Checkout ...

  6. JavaScript 数组——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()

    filter():   语法: var filteredArray = array.filter(callback[, thisObject]); 参数说明: callback: 要对每个数组元素执行 ...

  7. mysql查询当天,前一天,一周,一个月

    当天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  8. docker入门使用教程

    Docker概念 Docker是开发人员和系统管理员 使用容器开发,部署和运行应用程序的平台.使用Linux容器部署应用程序称为容器化.容器不是新的,但它们用于轻松部署应用程序. 容器化越来越受欢迎, ...

  9. JavaScript学习(2)call&apply&bind&eval用法

    javascript学习(2)call&apply&bind&eval用法 在javascript中存在这样几种特别有用的函数,能方便我们实现各种奇技淫巧.其中,call.bi ...

  10. traceroute命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/peida/archive/2013/03/07/2947326.html 通过traceroute我们可以知道信息从你 ...