当前位置:首页 » 服务存储 » 列式存储图片
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

列式存储图片

发布时间: 2022-05-21 14:14:14

Ⅰ 单列直插内存条和双列直插内存条有什么区别啊谁有图片之类的让我看看谢谢~~

一、主体不同

1、单列直插内存条:又叫SIP,脚从封装一个侧面引出,排列成一条直线。

2、双列直插内存条:又叫DIP,有两排引脚,需要插入到具有DIP结构的芯片插座上。

二、特点不同

1、单列直插内存条:引脚中心距通常为2.54mm,引脚数从2至23,多数为定制产品。封装的形状各异。

2、双列直插内存条:引脚数恒为偶数。若行间距为0.3吋,常见的引脚数为8至24,偶尔也会看到引脚数为4或28的包装。


三、优势不同

1、单列直插内存条:印刷基板上时封装呈侧立状。这种形式的一种变化是锯齿型单列式封装(ZIP),它的管脚仍是从封装体的一边伸出,但排列成锯齿型。

2、双列直插内存条:包装的元件可以焊接在印刷电路板电镀的贯穿孔中,或是插入在DIP插座(socket)上。

Ⅱ 探求Oracle数据库怎样存储图片

商品图片,用户上传的头像,其他方面的图片。目前业界存储图片有两种做法:
1、 把图片直接以二进制形式存储在数据库中
一般数据库提供一个二进制字段来存储二进制数据。比如Mysql中有个blob字段。Oracle数据库中是blob或bfile类型
2、 图片存储在磁盘上,数据库字段中保存的是图片的路径。
一、图片以二进制形式直接存储在数据库中
第一种存储实现(PHP语言):
大体思路:
1、将读取到的图片用php程序转化成二进制形式。再结合insert into 语句插入数据表中的blob类型字段中去。
3、 从数据库取出图片展示的时候。则是直接发送图片内容
4、
$row=mysql_fetch_object($result);
Header( "Content-type: image/gif");
echo $row->this_image;
实现代码如下:
$PicturePath = ‘/tmp/xxxjgjgj.jpg’;//假设这是上传的图片,php放在一个临时文件夹。脚本执行完毕后自动删除了。
$imgStream = fread(fopen($PicturePath, "r");
$blob_img = fread(fopen($imgStream, "r"), filesize($PicturePath));
$sql =” INSERT INTO Images (this_image) VALUES ($blob_img)";
注:this_image就是数据表中一个blob字段类型的字段
================取出展示图片代码
$result=mysql_query("SELECT * FROM Images WHERE PicNum=$PicNum") or die("Cant perform Query");
$row=mysql_fetch_object($result);
Header( "Content-type: image/gif");
echo $row-> this_image;
总结:处理代码感觉还真比较麻烦。其实,我从来没用过在数据库中以二进制存储图片的做法。我们用得更多的是存储图片的路径,实际图片是在磁盘上保存的(图片二进制放到数据库,把数据库的负担弄重了)。
据我了解,互联网环境中,大访问量,数据库速度和性能方面很重要。一般在数据库存储图片的做法比较少,更多的是将图片路径存储在数据库中,展示图片的时候只需要连接磁盘路径把图片载入进来即可。因为图片是属于大字段。一张图片可能1m到几m。
有个原则:图片尽量不要存储在数据库中(是指不要二进制形式保存到字段,而只保存图片的路径)。这样的大字段数据会加重数据库的负担,拖慢数据库。在大并发访问的情况下很重要。这是一个经验。去看看dba对数据库性能调优方面的分析都能得到这个答案的:就是图片不要存储在数据库中。
就像这个规则一样:文章分为标题、作者、添加时间、更新时间、文章内容、文章关键字
文章内容一般是比较长的。经常使用text字段去存储。文章的内容就属于大字段。一般文章内容可以拆分到单独一个表中去。不要与文章信息存储在一张表里面。
我理解的原理是:mysql中一张表的数据是全部在一个数据文件中的。如果大字段的数据也存储在里面。程序展示列表,比如文章列表。这个时候根本不需要展示文章内容的。但是仍然会影响速度,数据库查找数据其实就是扫描那个数据文件,文件容量越小,速度就会越快(为什么单表的容量在1g-2g的时候基本上要分表了)。拆分出去到一张单独的表,就是单独的文件了。我觉得,举一反三,相互独立,分离的思想不仅在系统开发中用到,在现实生活中经常存在的。相互混合,就会造成相互影响。小巧,简洁是一种思想。
可以看看这篇翻译的文章,
http//developer.51cto.com/art/201211/364472.htm
作者建议,三种东西永远不要放到数据库里,图片,文件,二进制数据。作者的理由是,
对数据库的读/写的速度永远都赶不上文件系统处理的速度
数据库备份变的巨大,越来越耗时间
对文件的访问需要穿越你的应用层和数据库层
把图片缩略图存到数据库里?很好,那你就不能使用nginx或其它类型的轻量级服务器来处理它们了。
给自己行个方便吧,在数据库里只简单的存放一个磁盘上你的文件的相对路径,或者使用S3(备注:亚马逊云服务)或CDN之类的服务。
============================================================
关于mysql中的blob类型
bolb像int型那样,分为blob、MEDIUMBLOB、LONGBLOB。其实就是从小到大,
blob 容量为64KB ,MEDIUMBLOB 容量为16M,LONGBLOB 容量为4G。
说实话,图片用这样子存储用得还真少。使用php函数serialize进行序列化的值,我看到有人存入这个字段中去。
php手册:serialize返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。
mysql中blob字段存储图片有个通信大小的设置:
图片要传输给mysql存储起来,那么需要涉及到数据通信。mysql中有个配置是限制通信数据大小的。
my.conf配置文件中的max_allowed_packet,mysql默认的值是1M。
好多图片尤其是原始图可能不止1m。传输的数据(也就是图片)超过这个设置大小。结果就会出错
呵呵,限制挺多。感觉好麻烦。这样子明显占用与mysql交互的通信时间嘛。延长响应时长了。我直接丢个图片路径”images/xxxx”给mysql。没这么耗费资源。
其实所谓的性能,最关键是数据库性能。因为随着数据库数据量增大,大部分时间耗费是在php,Java等语言等待数据库返回数据的过程中耗费时间。
网站访问量大了后,具体的语言不是瓶颈,瓶颈都在数据库。用c,,php,java,net都能操作mysql数据库获取数据。语言之间可能存在速度执行差异,但是其实这种差别已经很小了。至少我觉得,给予用户感觉不到明显。执行相差0.0001秒用户感觉并没有明显的区别。可能说,大并发(很多用户同时访问)的时候,就会体现到差别了。其实我觉得,大并发访问是数据库瓶颈。等待数据库给予数据。没达到一定级别实在体现不了差别。数据库数据量达到一定级别。语言相差0.001s会给予用户体验上的差别。我想,这也是为什么php很适合做web开发了。解析页面速度快(解释型语言,不需要编译)。可以用java来与数据库打交道获取数据。php不直接操作数据库,而是调用java提供的数据接口,获取数据,马上展示在页面中。这是利用了php的页面执行速度快的一个优势。
备份图片数据和迁移数据方便
图片以二进制形式存储在数据库,有一个好处:备份的时候方便。直接备份数据库,图片也跟着备份。换句话说,迁移环境的时候是方便。
而图片放在磁盘上的话,数据库中存储的只是图片路径。备份数据库后。磁盘上的图片也要跟着备份才行。
不过我觉得,备份这个好处不是很明显。图片在磁盘上,备份磁盘也没很大的事情。打包压缩也可以了。互联网环境毕竟与传统的软件开发不同,web开发比较关注网站速度。也就是数据库的速度。就像互联网开发中,有时候为了速度,用空间换时间的做法比较普遍,所以往往在设计数据库的时候并不一定遵循传统数据库设计三大范式。
数据库中保存的是图片路径的话,在web开发环境下,其实有个更好处,就是cdn加速。就是下面要进行总结的地方。
二、数据库中保存图片路径
一般是这样子的:
按照年月日生成路径。具体是按照年月日还是按照年月去生成路径,根据自己需要(不一定是按照日期去生成)。
理解为什么要分散到多个文件夹中去才是关键,涉及到一个原理就明白了:
操作系统对单个目录的文件数量是有限制的。当文件数量很多的时候。从目录中获取文件的速度就会越来越慢。所以为了保持速度,才要按照固定规则去分散到多个目录中去。
图片分散到磁盘路径中去。数据库字段中保存的是类似于这样子的”images/2012/09/25/ 1343287394783.jpg”
原来上传的图片文件名称会重新命名保存,比如按照时间戳来生成,1343287394783. jpg。这样子是为了避免文件名重复,多个人往同一个目录上传图片的时候会出现。
反正用什么样的规则命名图片,只要做到图片名称的唯一性即可。
比如网站的并发访问量大,目录的生成分得月细越好。比如精确到小时,一个小时都可以是一个文件夹。同时0.001秒有两个用户同时在上传图片(因为那么就会往同一个小时文件夹里面存图片)。因为时间戳是精确到秒的。为了做到图片名称唯一性而不至于覆盖,生成可以在在时间戳后面继续加毫秒微秒等。总结的规律是,并发访问量越大。就越精确就好了。
我现在还没碰到需要这么精细的。概率比较少。
有个方面总结一下:为什么保存的磁盘路径,是”images/2012/09/25/1343287394783.jpg”,而不是” /images/2012/09/25/ 1343287394783.jpg”(最前面带有斜杠)
我的理解:
连那个斜杠都不要。这里也是做到方便以后系统扩展。
在页面中需要取出图片路径展示图片的时候,如果是相对路径,则可以使用”./”+”images/2012/09/25/1343287394783.jpg”进行组装。
如果需要单独的域名(比如做cdn加速的时候)域名,img1.xxx.com,img2.xxx.com这样的域名,
直接组装 “http//img1.xxx.com/”+”images/2012/09/25/1343287394783.jpg”
当然数据库是可以在前面加斜杠/保存起来,/images/2012/09/25/ 1343287394783.jpg
其实不方便统一。比如相对路径载入图片的时候,则是”.”+” /images/2012/09/25/ 1343287394783.jpg”
可能我还没体会到坏处,以后会遇到问题的。不过,遵循惯例不加斜杠” images/2012/09/25/ 1343287394783.jpg”就对了。
涉及到一个新问题:为什么大部分系统都不会域名保存进去,像这样子http//wwwxxx.com/images/2012/09/25/1343287394783.jpg保存到数据库中
曾经与一个上海的网友聊天,他也是习惯不会把域名保存数据库中过去。但当时我们两聊的时候,他对”域名保存进去的做法”与”不保存域名进去”也没有一个明确利弊。他就觉得,没有什么明显的区别啊。
了解的知识越多,越有利于我们做决定。可能就是一个”感觉区别不是很大”的影响下,去做一个决定,反而对后面是比较大的影响的。至少是增加自己的工作量了。
其实把域名保存进去,也不是什么滔天大罪的事情。但凡是经验丰富的开发人员都不会这样子做。这是一个经验积累出来的,所以上海那个网友也对此并没有明显的概念很正常,他说他不知道cdn方面的(当然觉得存个域名进去没什么大不了的)。需要了解cdn知识,什么情况下会用到cdn知识。
虽然是做开发人员,不需要关注运维和服务器之类的知识。不过了解一些就有利于理解了。
这里涉及到cdn加速。
关于cdn原理(就是内容分发网络)
cdn,我理解其本质就是为了解决距离远产生的速度问题,使用就近的服务。
从中国请求美国一台服务器上的图片。一般比较慢,因为距离这么远,网络传输是存在损耗的,距离越远,传输的时间就越长。一般会看到浏览器左下角显示:“已响应,正在传输数据..”。这不是服务器本身问题了。实际上服务器早就响应请求,把数据发给客户端,但是网络问题,就一直在传输,没传完了。
在中国,是南北距离远的问题。南北还会涉及到跨网,南方用户使用电信居多,北方用户网通居多。两个线路需要跨越,会有时间延迟。北京到广州的距离,如果直接请求
cdn加速就是适应这个需求产生的:现在不请求美国的服务器。直接在中国安放节点(节点是比较笼统的词语,可以理解成一台服务器,也可以理解成一个机房,就是一个点嘛),请求距离近的节点。这样子就不需要那么远的距离了。
记得以前在长沙的网站,团购以城市分站的形式。北京和长沙用的是同一套程序。服务器在长沙。北京用户访问北京站的时候,实际上需要远距离访问长沙的服务器。速度怎么都快不起来。跟服务器性能完全没关系。当时不懂这些。不清楚怎么折腾。看那本《前端优化技巧》,想办法去做js代码压缩,浏览器缓存之类的。实际上瞎折腾。不是说这些前端优化不重要,哲学上有主次矛盾之分,瓶颈在哪里就去突破哪里。没解决主要矛盾,问题并不会迎刃而解。当时也不是数据库瓶颈。如果去优化数据库。也不会明显改善。就那点数据量。根本就达不到瓶颈。哪里谈得上主要矛盾。随着后来去其他公司工作,接触一些东西,类似不找瓶颈的优化例子发生在身边好几次了,先没找到瓶颈就瞎去优化。我的同事可能是抱着多多益善的心态去做的,但主要矛盾(技术上说是瓶颈)没找到,也没改善。
当时如果没想到是距离问题。也就不会想到cdn,当时其实我根本不知道cdn服务。我只知道,google这些网站肯定在中国部署的服务器,要不然,中国用户还去访问美国的服务器,那再好的服务器都会速度慢的。
由于自己搭建cdn环境和机房的资金比较大(需要大量的服务器),也需要人力维护。反正一般的公司弄不起,其实根本不划算。淘宝以前用商用的cdn服务,后来商用的扛不住了,就搭建了自己的cdn网。我不知道新浪有没有自己搭建,但其实我觉得跟淘宝的特点有关,店铺很多,无论是商品还是交易记录总计起来商品很多的图片,图片都是静态的部分,cdn本来就是用来做静态的(图片,css,js等)请求分发用的。
我之前在网上看到一句话,cdn网络不是一般的公司玩得起的。
一般的公司自己搭建cdn网络成本高,所以就有商业的cdn提供付费租用服务,这是一项很成熟的业务,很多这样的公司,大部分全国性的互联网公司都会使用到cdn。
总结:cdn服务。对于静态内容是非常适合的。所以像商品图片,随着访问量大了后,租用cdn服务,只需要把图片上传到他们的服务器上去。
例子:北京访问长沙服务器,距离太远。我完全可以把商品图片,放到北京的云服务(我觉得现在提供给网站使用的云存储其实就是cdn,给网站提供分流和就近访问)上去。这样子北京用户访问的时候,实际上图片就是就近获取。不需要很长距离的传输。
自己用一个域名img.xxxcom来载入图片。这个域名解析到北京的云服务上去。
做法:数据库中保存的是” images/2012/09/25/1343287394783.jpg”,
这些图片实际上不存储在web服务器上。上传到北京的cdn服务器上去。
我从数据库取出来,直接”img.xxxcom/”+” images/2012/09/25/1343287394783.jpg”
比如如果还有多个,就命名img1.xxcom、img2.xxcom
反正可以随便。所以如果把域名直接保存进去。就显得很麻烦了。迁移麻烦。
像淘宝,凡客,亚马逊这些电子商务网站,我们看到请求的时候,下面往往会有
img1.xxx.cdncom
img2.xxx.cdncom
其实他们保存在数据库中的是相对路径。有些是不需要在数据库保存的,缩略图可以实时访问的时候用程序生成(节省很多存储空间)
实际上,把域名保存在数据库中,非常不利于系统迁移。一旦换个域名的话,原来保存在数据库中的是“wwwabc.om/images/xxxxxx“,因为路径都在数据库中写死了。下回换个域名就用不了了。那个时候自己去写sql语句批量更新字段吧。
几个术语:
icp,Internet Content Provider,也就是网络内容提供者。联想到我们运营一个网站需要icp备案了吗?你自己运营网站,你就是icp服务商
IDC(Internet Data Center),互联网数据中心。IDC的概念,目前还没有一个统一的标准。通俗点,就是提供机房托管(服务器租用和托管),域名注册之类的。
关于淘宝的图片存储
了解到:淘宝以前使用了商用的存储。但是没法满足需求。据说,到2010年,淘宝网后端保存着286亿张图片。商用的系统系统没法满足需求的时候。他们就自己开发了一个tfs。大规模的小文件在磁盘上读取,需要磁盘磁头频繁的寻道和换道。大并发情况下和大量的操作确实很麻烦。其实借鉴了当时google公布的gfs设计论文。google有相册服务。为每个用户提供上传图片存储。
估计,google是率先实现这种小文件网络存储系统的。
有个观点比较好:对于老板们而言,往往觉得,用钱能解决的都不算问题。但问题在于,你遇到的问题,别人都没遇到过。那这个时候你就没有经验可以参考或者直接拿来使用。只有自己参考一些思路去创造技术了。
三、关于图片进行云存储(cdn加速)
曾经看过这个,这个是比较适合创业公司的。价格相对便宜
https//wwwupyun.com/
介绍提到,我们在全国各地部署了55个CDN节点,500多台服务器,电信,联通,移动和教育网的4线带宽。
其实,现在的云存储本质就是一个cdn服务商。你把静态的图片上传到他提供的服务器上去(ftp方式上传或者api形式编写程序上传)。他为你做就近节点访问。
计费方式:按照流量付费,99元购买100g。怎么算流量。每次访问文件的大小累加,比如一个1m的文件,访问一次流量就加1m。
我个人理解,对于图片的量不大的情况下,使用这种云服务,好处不是节省存储空间。你自己的服务器100g的空间可能创业型公司都没用完,不是什么存储空间不够用,然后去用云存储。以前我对cdn比较模糊,有这么点理解,或者以为是分散网站web服务器流压力,服务器分流。这些好处是有的。但是,只要理解了cdn产生的背景和解决的关键问题后,就会明白云存储关键好处在于:给用户就近节点访问,加速。
我觉得,如果不是出于这个考虑,或者达不到这样的目的。用其他方案也完全可以替代。何必使用云存储呢?就是你无非有实力做到全国多个节点去部署服务,才需要租用cdn来帮你,毕竟他们是规模产生的效益,专注于解决这个领域。

Ⅲ 图片的储存格式有哪些,各有什么特点

BMP清晰但占用空间大
JPG一般照片都是这个格式不比BMP清晰,但占用空间小一点
GIF在图片色素种类少时占用存储空间最小,这种格式也可以用来做动画
PNG一种较新的图片格式,但有些网站还不支持.

Ⅳ 传统的行存储和(HBase)列存储的区别

列存储不同于传统的关系型数据库,其数据在表中是按行存储的,列方式所带来的重要好处之一就是,由于查询中的选择规则是通过列来定义的,因此整个数据库是自动索引化的。按列存储每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量,一个字段的数据聚集存储,那就更容易为这种聚集存储设计更好的压缩/解压算法。

传统的(Oracle)行存储和(Hbase)列存储的区别

这里写图片描a
1、数据是按行存储的
2、没有索引的查询使用大量I/O
3、建立索引和物化视图需要花费大量时间和资源
4、面对查询的需求,数据库必须被大量膨胀才能满足性能需求

这里写图片描述
1、数据按列存储–每一列单独存放
2、数据即是索引
3、只访问查询涉及的列–大量降低系统IO
4、每一列由一个线索来处理–查询的并发处理
5、数据类型一致,数据特征相似–高效压缩

Ⅳ 常见的图像文件格式有哪些各有什么特点一般相机中使用什么图像存储格式

jpg(jpeg)
JPEG:联合摄影专家组
JPEG 图片以 24 位颜色存储单个光栅图像。JPEG 是与平台无关的格式,支持最高级别的压缩,不过,这种压缩是有损耗的。渐近式 JPEG 文件支持交错。可以提高或降低 JPEG 文件压缩的级别。但是,文件大小是以图像质量为代价的。压缩比率可以高达 100:1。(JPEG 格式可在 10:1 到 20:1 的比率下轻松地压缩文件,而图片质量不会下降。)JPEG 压缩可以很好地处理写实摄影作品。但是,对于颜色较少、对比级别强烈、实心边框或纯色区域大的较简单的作品,JPEG 压缩无法提供理想的结果。有时,压缩比率会低到 5:1,严重损失了图片完整性。这一损失产生的原因是,JPEG 压缩方案可以很好地压缩类似的色调,但是 JPEG 压缩方案不能很好地处理亮度的强烈差异或处理纯色区域。
优点:摄影作品或写实作品支持高级压缩,利用可变的压缩比可以控制文件大小。支持交错(对于渐近式 JPEG 文件)。JPEG 广泛支持 Internet 标准。
缺点:有损耗压缩会使原始图片数据质量下降。当您编辑和重新保存 JPEG 文件时,JPEG 会混合原始图片数据的质量下降。这种下降是累积性的。不适用于所含颜色很少、具有大块颜色相近的区域或亮度差异十分明显的较简单的图片。是最常见的格式之一。

BMP:Windows 位图
Windows 位图可以用任何颜色深度(从黑白到 24 位颜色)存储单个光栅图像。Windows 位图文件格式与其他 Microsoft Windows 程序兼容。它不支持文件压缩,也不适用于 Web 页。从总体上看,Windows 位图文件格式的缺点超过了它的优点。为了保证照片图像的质量,请使用 PNG 文件、JPEG 文件或 TIFF 文件。BMP 文件适用于 Windows 中的墙纸。
优点:BMP 支持 1 位到 24 位颜色深度。BMP 格式与现有 Windows 程序(尤其是较旧的程序)广泛兼容。
缺点:BMP 不支持压缩,这会造成文件非常大,BMP 文件不受 Web 浏览器支持。

raw 位图又称光栅图、点陈图,一般用于照片品质的图像处理,是由许多像小方块一样的像素组成的图形。由像素的位置与颜色值表示,能表现出颜色阴影的变化。简单说,位图就是以无数的色彩点组成的图案,当你无限放大时你会看到一块一块的像素色块,效果会失真。常用于图片处理、影视婚纱效果图等,象常用的照片,扫描,数码照片等,常用的工具软件:PHOTOSHOP,PAINTER等。位图像一般占空间较大。

png PNG 图片以任何颜色深度存储单个光栅图像。PNG 是与平台无关的格式。
优点:PNG 支持高级别无损耗压缩。支持 alpha 通道透明度。PNG 支持伽玛校正。PNG 支持交错。PNG 受最新的 Web 浏览器支持。
缺点:较旧的浏览器和程序可能不支持 PNG 文件。作为 Internet 文件格式,与 JPEG 的有损耗压缩相比,PNG 提供的压缩量较少。作为 Internet 文件格式,PNG 对多图像文件或动画文件不提供任何支持。

GIF:图形交换格式;
GIF 图片以 8 位颜色或 256 色存储单个光栅图像数据或多个光栅图像数据。GIF 图片支持透明度、压缩、交错和多图像图片(动画 GIF)。
PGIF 透明度不是 alpha 通道透明度,不能支持半透明效果。GIF 压缩是 LZW 压缩,压缩比大概为 3:1。GIF 文件规范的 GIF89a 版本中支持动画 GIF。
优点:GIF 广泛支持 Internet 标准。支持无损耗压缩和透明度。动画 GIF 很流行,易于使用许多 GIF 动画程序创建。很多QQ表情都是GIF的~
缺点:GIF 只支持 256 色调色板,因此,详细的图片和写实摄影图像会丢失颜色信息

PSD格式:Photoshop的专用图像格式,可以保存图片的完整信息,土层,通道,文字都可以被保存,图像文件一般较大。
PNG格式:与JPG格式类似,网页中有很多图片都是这种格式,压缩比高于GIF,支持图像透明,可以利用Alpha通道调节图像的透明度,是网页三剑客之一Fireworks的源文件。

TIFF格式:它的特点是图像格式复杂、存贮信息多,在Mac中广泛使用的图像格式,正因为它存储的图像细微层次的信息非常多,图像的质量也得以提高,故而非常有利于原稿的复制。很多地方将TIFF格式用于印刷.

TGA格式:TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒体领域有着很大影响,在做影视编辑时经常使用,例如3DS MAX输出TGA图片序列导入到AE里面进行后期编辑。

EPS格式:苹果Mac机的用户则用得较多。它是用PostScript语言描述的一种ASCII码文件格式,主要用于排版、打印等输出工作。

像DWG之类的专业软件格式就不解释了啊~
相机里面常用前两种。

Ⅵ 怎样把多张图片整齐放在Excel单元格里面

先设置它的属性,把"锁定长宽比"的勾选去掉
然后按住ALT键,拉动对角就可以锁定在单元格的对角上了,完美嵌入单元格

Ⅶ 最好的储存图片的格式是什么

用TIFF格式 TIFF 是一个灵活适应性强的文件格式。通过在文件头中包含“标签”它能够在一个文件中处理多幅图像和数据。标签能够标明图像的如图像大小这样的基本几何尺寸或者定义图像数据是如何排列的并且是否使用了各种各样的图像压缩选项。例如,TIFF可以包含JPEG和行程长度编码压缩的图像。TIFF文件也可以包含基于矢量的裁剪区域(剪切或者构成主体图像的轮廓)。使用无损格式存储图像的能力使TIFF文件成为图像存档的有效方法。与JPEG不同,TIFF文件可以编辑然后重新存储而不会有压缩损失。其它的一些TIFF文件选项包括多层或者多页。
尽管现今它是一种被广泛接受的标准格式,当TIFF最初出现的时候,它的可扩展性带来了很多兼容问题。程序员可以随意定义新的标签和选项,但是并不是所有的实现程序都能支持这些所有这些创造出的标签。作为结果,它的一个最小特性集成为了“这个”TIFF,即使是在今天大量的TIFF文件和读取它们的代码都是基于简单的32位非压缩图像。

Ⅷ 图片存储占用空间不同的几种格式,说明哪些图像是经过压缩的,哪些没有,具体格式越多越好

的来说,有两种截然不同的图像格式类型: 即有损压缩和无损压缩。 1.有损压缩 有损压缩可以减少图像在内存和磁盘中占用的空间,在屏幕上观看图像时,不会发现它对图像的外观产生太大的不利影响。因为人的眼睛对光线比较敏感,光线对景物的作用比颜色的作用更为重要,这就是有损压缩技术的基本依据。 有损压缩的特点是保持颜色的逐渐变化,删除图像中颜色的突然变化。生物学中的大量实验证明,人类大脑会利用与附近最接近的颜色来填补所丢失的颜色。例如,对于蓝色天空背景上的一朵白云,有损压缩的方法就是删除图像中景物边缘的某些颜色部分。当在·屏幕上看这幅图时,大脑会利用在景物上看到的颜色填补所丢失的颜色部分。利用有损压缩技术,某些数据被有意地删除了,而被取消的数据也不再恢复。 无可否认,利用有损压缩技术可以大大地压缩文件的数据,但是会影响图像质量。如果使用了有损压缩的图像仅在屏幕上显示,可能对图像质量影响不太大,至少对于人类眼睛的识别程度来说区别不大。可是,如果要把一幅经过有损压缩技术处理的图像用高分辨率打印机打印出来,那么图像质量就会有明显的受损痕迹。 2.无损压缩 无损压缩的基本原理是相同的颜色信息只需保存一次。压缩图像的软件首先会确定图像中哪些区域是相同的,哪些是不同的。包括了重复数据的图像(如蓝天)就可以被压缩,只有蓝天的起始点和终结点需要被记录下来。但是蓝色可能还会有不同的深浅,天空有时也可能被树木、山峰或其他的对象掩盖,这些就需要另外记录。从本质上看,无损压缩的方法可以删除一些重复数据,大大减少要在磁盘上保存的图像尺寸。但是,无损压缩的方法并不能减少图像的内存占用量,这是因为,当从磁盘上读取图像时,软件又会把丢失的像素用适当的颜色信息填充进来。如果要减少图像占用内存的容量,就必须使用有损压缩方法。 无损压缩方法的优点是能够比较好地保存图像的质量,但是相对来说这种方法的压缩率比较低。但是,如果需要把图像用高分辨率的打印机打印出来,最好还是使用无损压缩几乎所有的图像文件都采用各自简化的格式名作为文件扩展名。从扩展名就可知道这幅图像是按什么格式存储的,应该用什么样的软件去读/写等等。

一、BMP图像文件格式

BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BblP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。

由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。

典型的BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息。

二、 PCX图像文件格式

PCX这种图像文件的形成是有一个发展过程的。最先的PCX雏形是出现在ZSOFT公司推出的名叫PC PAINBRUSH的用于绘画的商业软件包中。以后, 微软公司将其移植到 Windows环境中,成为Windows系统中一个子功能。先在 微软的Windows3.1中广泛应用,随着Windows的流行、升级,加之其强大的图像处理能力,使PCX同GIF、TIFF、BMP图像文件格式一起,被越来越多的图形图像软件工具所支持,也越来越得到人们的重视。

PCX是最早支持彩色图像的一种文件格式,现在最高可以支持256种彩色,如图4-25所示,显示256色的彩色图像。PCX设计者很有眼光地超前引入了彩色图像文件格式,使之成为现在非常流行的图像文件格式。

PCX图像文件由文件头和实际图像数据构成。文件头由128字节组成,描述版本信息和图像显示设备的横向、纵向分辨率,以及调色板等信息:在实际图像数据中,表示图像数据类型和彩色类型。PCX图像文件中的数据都是用PCXREL技术压缩后的图像数据。

PCX是PC机画笔的图像文件格式。PCX的图像深度可选为l、4、8bit。由于这种文件格式出现较早,它不支持真彩色。PCX文件采用RLE行程编码,文件体中存放的是压缩后的图像数据。因此,将采集到的图像数据写成PCX文件格式时,要对其进行RLE编码:而读取一个PCX文件时首先要对其进行RLE解码,才能进一步显示和处理。

三、TIFF图像文件格式

TIFF(TaglmageFileFormat)图像文件是由Als和 Microsoft公司为桌上出版系统研制开发的一种较为通用的图像文件格式。TIFF格式灵活易变,它又定义了四类不同的格式:TIFF-B适用于二值图像:TIFF-G适用于黑白灰度图像;TIFF-P适用于带调色板的彩色图像:TIFF-R适用于RGB真彩图像。

TIFF支持多种编码方法,其中包括RGB无压缩、RLE压缩及JPEG压缩等。

TIFF是现存图像文件格式中最复杂的一种,它具有扩展性、方便性、可改性,可以提供给IBMPC等环境中运行、图像编辑程序。

TIFF图像文件由三个数据结构组成,分别为文件头、一个或多个称为IFD的包含标记指针的目录以及数据本身。

TIFF图像文件中的第一个数据结构称为图像文件头或IFH。这个结构是一个TIFF文件中唯一的、有固定位置的部分;IFD图像文件目录是一个字节长度可变的信息块,Tag标记是TIFF文件的核心部分,在图像文件目录中定义了要用的所有图像参数,目录中的每一目录条目就包含图像的一个参数。

四、 GIF文件格式

GIF(Graphics Interchange Format)的原义是“图像互换格式”,是CompuServe公司在 1987年开发的图像文件格式。GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程序。目前几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件。

GIF图像文件的数据是经过压缩的,而且是采用了可变长度等压缩算法。所以GIF的图像深度从lbit到8bit,也即GIF最多支持256种色彩的图像。GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。

GIF解码较快,因为采用隔行存放的GIF图像,在边解码边显示的时候可分成四遍扫描。第一遍扫描虽然只显示了整个图像的八分之一,第二遍的扫描后也只显示了1/4,但这已经把整幅图像的概貌显示出来了。在显示GIF图像时,隔行存放的图像会给您感觉到它的显示速度似乎要比其他图像快一些,这是隔行存放的优点。

五、JPEG文件格式

JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写,文件后辍名为“.jpg”或“.jpeg”,是最常用的图像文件格式,由一个软件开发联合会组织制定,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。但是JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。而且 JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。比如可以把1.37Mb的BMP位图文件压缩至20.3KB。当然也可以在图像质量和文件尺寸之间找到平衡点。JPEG格式压缩的主要是高频信息,对色彩的信息保留较好,适合应用于互联网,可减少图像的传输时间,可以支持24bit真彩色,也普遍应用于需要连续色调的图像。

JPEG格式是目前网络上最流行的图像格式,是可以把文件压缩到最小的格式,在 Photoshop软件中以JPEG格式储存时,提供11级压缩级别,以0—10级表示。其中0级压缩比最高,图像品质最差。即使采用细节几乎无损的10级质量保存时,压缩比也可达 5:1。以BMP格式保存时得到4.28MB图像文件,在采用JPG格式保存时,其文件仅为178KB,压缩比达到24:1。经过多次比较,采用第8级压缩为存储空间与图像质量兼得的最佳比例。

JPEG格式的应用非常广泛,特别是在网络和光盘读物上,都能找到它的身影。目前各类浏览器均支持JPEG这种图像格式,因为JPEG格式的文件尺寸较小,下载速度快。

JPEG2000作为JPEG的升级版,其压缩率比JPEG高约30%左右,同时支持有损和无损压缩。JPEG2000格式有一个极其重要的特征在于它能实现渐进传输,即先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示。此外,JPEG2000还支持所谓的“感兴趣区域”特性,可以任意指定影像上感兴趣区域的压缩质量,还可以选择指定的部分先解压缩。

JPEG2000和JPEG相比优势明显,且向下兼容,因此可取代传统的JPEG格式。JPEG2000即可应用于传统的JPEG市场,如扫描仪、数码相机等,又可应用于新兴领域,如网路传输、无线通讯等等。

六、TGA格式

TGA格式(Tagged Graphics)是由美国Truevision公司为其显示卡开发的一种图像文件格式,文件后缀为“.tga”,已被国际上的图形、图像工业所接受。TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒体领域有很大影响,是计算机生成图像向电视转换的一种首选格式。

TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA可就派上用场了! TGA格式支持压缩,使用不失真的压缩算法。

七、EXIF格式

EXIF的格式是1994年富士公司提倡的数码相机图像文件格式,其实与JPEG格式相同,区别是除保存图像数据外,还能够存储摄影日期、使用光圈、快门、闪光灯数据等曝光资料和附带信息以及小尺寸图像。

八、 FPX图像文件格式

FPX图像文件格式(扩展名为fpx)是由柯达、 微软、HP及Live PictureInc联合研制,并于1996年6月正式发表,FPX是一个拥有多重分辩率的影像格式,即影像被储存成一系列高低不同的分辩率,这种格式的好处是当影像被放大时仍可维持影像的质素,另外,当修饰FPX影像时,只会处理被修饰的部分,不会把整幅影像一并处理,从而减小处理器及记忆体的负担,使影像处理时间减少。

九、SVG格式

SVG是可缩放的矢量图形格式。它是一种开放标准的矢量图形语言,可任意放大图形显示,边缘异常清晰,文字在SVG图像中保留可编辑和可搜寻的状态,没有字体的限制,生成的文件很小,下载很快,十分适合用于设计高分辨率的Web图形页面。

十、PSD文件格式

这是Photoshop图像处理软件的专用文件格式,文件扩展名是.psd,可以支持图层、通道、蒙板和不同色彩模式的各种图像特征,是一种非压缩的原始文件保存格式。扫描仪不能直接生成该种格式的文件。PSD文件有时容量会很大,但由于可以保留所有原始信息,在图像处理中对于尚未制作完成的图像,选用PSD格式保存是最佳的选择。

十一、CDR文件格式

CDR格式是着名绘图软件CorelDRAW的专用图形文件格式。由于CorelDRAW是矢量图形绘制软件,所以CDR可以记录文件的属性、位置和分页等。但它在兼容度上比较差,所有CorelDraw应用程序中均能够使用,但其他图像编辑软件打不开此类文件。 十二、PCD文件格式

PCD是Kodak PhotoCD的缩写,文件扩展名是.pod,是Kodak开发的一种Photo CD文件格式,其他软件系统只能对其进行读取。该格式使用YCC色彩模式定义图像中的色彩。YCC和CIE色彩空间包含比显示器和打印设备的RGB色和CMYK色多得多的色彩。PhotoCD图像大多具有非常高的质量。

十三、DXF文件格式

DXF是Drawing Exchange Format的缩写,扩展名是.dxf,是AutoCAD中的图形文件格式,它以ASCII方式储存图形,在表现图形的大小方面十分精确,可被CorelDraw和3DS等大型软件调用编辑。

十四、UFO文件格式

它是着名图像编辑软件Ulead Photolmapct的专用图像格式,能够完整地记录所有 Photolmapct处理过的图像属性。值得一提的是,UFO文件以对象来代替图层记录图像信息。

十五、EPS文件格式

EPS是Encapsulated PostScript的缩写,是跨平台的标准格式,扩展名在PC平台上是.eps,在Macintosh平台上是.epsf,主要用于矢量图像和光栅图像的存储。EPS格式采用 PostScript语言进行描述,并且可以保存其他一些类型信息,例如多色调曲线、Alpha通道、分色、剪辑路径、挂网信息和色调曲线等,因此EPS格式常用于印刷或打印输出。Photoshop中的多个EPS格式选项可以实现印刷打印的综合控制,在某些情况下甚至优于TIFF格式。

十六、PNG图像文件格式

PNG(Portable Networf Graphics)的原名称为“可移植性网络图像”,是网上接受的最新图像文件格式。PNG能够提供长度比GIF小30%的无损压缩图像文件。它同时提供24位和48位真彩色图像支持以及其他诸多技术性支持。由于PNG非常新,所以目前并不是所有的程序都可以用它来存储图像文件,但Photoshop可以处理PNG图像文件,也可以用PNG图像文件格式存储

Ⅸ 怎样把图片存入SQL数据库表中

一、先来熟悉一下将要使用的对象方法:

  1. 用来获取上一个页面传 递过来的数据一般是使用Request对象。同样的,我们也可以使用Request对象 来获取上传上来的文件数据,使用的方法是Request.BinaryRead()。

  2. 要从数据库中读出来图片的数据显示到网页上面要用到的方法是:Request.BinaryWrite()。

二、在得到了图片的数据,要保存到数据库中的时候,不可以直接使用Insert语句对数据库进行操作,而是要使用ADO的AppendChunk方法。

  1. 同样的,读出数据库中的图片数据,要使用GetChunk方法。

  2. 各个方法的具体语法如下:

*Request.BinaryRead语法:

variant=Request.BinaryRead(count)

参数

variant

返回值保存着从客户端读取到数据。

count

指明要从客户端读取的数据量大小,这个值小于或者等于使用方法

Request.TotalBytes得到的数据量。

*Request.BinaryWrite语法:

Request.BinaryWritedata

参数

data

要写入到客户端浏览器中的数据包。

*Request.TotalBytes语法:

variant=Request.TotalBytes

参数

variant

返回从客户端读取到数据量的字节数。

*AppendChunk语法

将数据追加到大型文本、二进制数据Field或Parameter对象。

object.AppendChunkData

参数

objectField或Parameter对象

Data变体型,包含追加到对象中的数据。

说明

使用Field或Parameter对象的AppendChunk方法可将长二进制或字符数

据填写到对象中。在系统内存有限的情况下,可以使用AppendChunk方法对长

整型值进行部分而非全部的操作。

*GetChunk语法

返回大型文本或二进制数据Field对象的全部或部分内容。

variable=field.GetChunk(Size)

返回值

返回变体型。

参数

Size长整型表达式,等于所要检索的字节或字符数。

说明

使用Field对象的GetChunk方法检索其部分或全部长二进制或字符数据。

在系统内存有限的情况下,可使用GetChunk方法处理部分而非全部的长整型

值。

GetChunk调用返回的数据将赋给“变量”。如果Size大于剩余的数据,则

GetChunk仅返回剩余的数据而无需用空白填充“变量”。如果字段为空,则

GetChunk方法返回Null。

每个后续的GetChunk调用将检索从前一次GetChunk调用停止处开始的数

据。但是,如果从一个字段检索数据然后在当前记录中设置或读取另一个字段

的值,ADO将认为已从第一个字段中检索出数据。如果在第一个字段上再次调

用GetChunk方法,ADO将把调用解释为新的GetChunk操作并从记录的起始

处开始读取。如果其他Recordset对象不是首个Recordset对象的副本,则

访问其中的字段不会破坏GetChunk操作。

如果Field对象的Attributes属性中的adFldLong位设置为True,则可

以对该字段使用GetChunk方法。

如果在Field对象上使用Getchunk方法时没有当前记录,将产生错误3021

(无当前记录)。

三、设计数据库,作为测试的数据库结构如下(Access97):

字段名称类型描述

id自动编号主键值

imgOLE对象用来保存图片数据

对于在MSSQLServer7中,对应的结构如下:

字段名称类型描述

idint(Identity)主键值

imgimage用来保存图片数据

四、正式编写纯ASP代码上传部分了,首先,有一个提供给用户的上传界面,可以让用户选择要上传的图片。代码如下(upload.htm):

<html>

<body>

<center>

<formname="mainForm"enctype="multipart/form-data"

action="process.asp"method=post>

<inputtype=filename=mefile><br>

<inputtype=submitname=okvalue="OK">

</form>

</center>

</body>

</html>

注意代码中黑色斜体的部分,一定要在Form中有这个属性,否则,将无

法得到上传上来的数据。

五、接下来,要在process.asp中对从浏览器中获取的数据进行必要的处理,因为在process.asp中获取到的数据不仅仅包含了想要的上传上来的图片的数据,也包含了其他的无用的信息,需要剔除冗余数据,并将处理过的图片数据保存到数据库中,这里以Access97为例。具体代码如下(process.asp):

<%

response.buffer=true

formsize=request.totalbytes

formdata=request.binaryread(formsize)

bncrlf=chrB(13)&chrB(10)

divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)

datastart=instrb(formdata,bncrlf&bncrlf)+4

dataend=instrb(datastart+1,formdata,divider)-datastart

mydata=midb(formdata,datastart,dataend)setconnGraph=server.CreateObject("ADODB.connection")

connGraph.ConnectionString="driver={MicrosoftAccessDriver(*.mdb)};DBQ="&

server.MapPath("images.mdb")&";uid=;PWD=;"

connGraph.Opensetrec=server.createobject("ADODB.recordset")

rec.Open"SELECT*FROM[images]whereidisnull",connGraph,1,3

rec.addnew

rec("img").appendchunkmydata

rec.update

rec.close

setrec=nothing

setconnGraph=nothing

%>

六、这样就把上传来的图片保存到了名为images.mdb的数据库中了,剩下的工作就是要将数据库中的图片数据显示到网页上面了。

一般在HTML中,显示图片都是使用<IMG>标签,也就是<IMGSRC="图片路径">,但是图片是保存到了数据库中,“图片路径”是什么呢?呵呵,其实这个SRC属性除了指定路径外,也可以这样使用哦:

<IMGSRC="showimg.asp?id=xxx">

所以,要做的就是在showimg.asp中从数据库中读出来符合条件的数据,并返回到SRC属性中就可以了,具体代码如下(showimg.asp):

<%

setconnGraph=server.CreateObject("ADODB.connection")

connGraph.ConnectionString="driver={MicrosoftAccessDriver(*.mdb)};DBQ="&

server.MapPath("images.mdb")&";uid=;PWD=;"

connGraph.Open

setrec=server.createobject("ADODB.recordset")

strsql="selectimgfromimageswhereid="&trim(request("id"))

rec.openstrsql,connGraph,1,1

Response.ContentType="image/*"

Response.BinaryWriterec("img").getChunk(7500000)

rec.close

setrec=nothing

setconnGraph=nothing

%>

七、注意在输出到浏览器之前一定要指Response.ContentType="image/*",以便正常显示图片。最后要注意的地方是,我的process.asp中作的处理没有考虑到第一页(upload.htm)中还有其他数据,比如<INPUTtype=tesxtname=userid>等等,如果有这些项目,process.asp就要注意处理掉不必要的数据。

Ⅹ 问下几种图片(存储)格式有什么区别,比如说JPG,DNG,RAW还有PS中的存储格式

图片格式:光栅图片
BMP:Windows 位图
Windows 位图可以用任何颜色深度(从黑白到 24 位颜色)存储单个光栅图像。Windows 位图文件格式与其他 Microsoft Windows 程序兼容。它不支持文件压缩,也不适用于 Web 页。

从总体上看,Windows 位图文件格式的缺点超过了它的优点。为了保证照片图像的质量,请使用 PNG 文件、JPEG 文件或 TIFF 文件。BMP 文件适用于 Windows 中的墙纸。

优点:? BMP 支持 1 位到 24 位颜色深度。
? BMP 格式与现有 Windows 程序(尤其是较旧的程序)广泛兼容。
缺点:? BMP 不支持压缩,这会造成文件非常大。
? BMP 文件不受 Web 浏览器支持。

PCX:PC 画笔
“PC 画笔”图片(也被称为 Z-Soft 位图)会以任何颜色深度存储单个光栅图像。画笔图片更广泛地用于较早的 Windows 程序和基于 MS-DOS 的程序。画笔图片与许多较新的程序兼容。PCX 图片支持“行程长度编码”(RLE) 内部压缩。

优点:? PCX 在许多基于 Windows 的程序和基于 MS-DOS 的程序间是标准格式。
? PCX 支持内部压缩。
缺点:? PCX 不受 Web 浏览器支持。

PNG:可移植网络图形
PNG 图片以任何颜色深度存储单个光栅图像。PNG 是与平台无关的格式。

优点:? PNG 支持高级别无损耗压缩。
? PNG 支持 alpha 通道透明度。
? PNG 支持伽玛校正。
? PNG 支持交错。
? PNG 受最新的 Web 浏览器支持。
缺点:? 较旧的浏览器和程序可能不支持 PNG 文件。
? 作为 Internet 文件格式,与 JPEG 的有损耗压缩相比,PNG 提供的压缩量较少。
? 作为 Internet 文件格式,PNG 对多图像文件或动画文件不提供任何支持。GIF 格式支持多图像文件和动画文件。

JPEG:联合摄影专家组
JPEG 图片以 24 位颜色存储单个光栅图像。JPEG 是与平台无关的格式,支持最高级别的压缩,不过,这种压缩是有损耗的。渐近式 JPEG 文件支持交错。

可以提高或降低 JPEG 文件压缩的级别。但是,文件大小是以图像质量为代价的。压缩比率可以高达 100:1。(JPEG 格式可在 10:1 到 20:1 的比率下轻松地压缩文件,而图片质量不会下降。)JPEG 压缩可以很好地处理写实摄影作品。但是,对于颜色较少、对比级别强烈、实心边框或纯色区域大的较简单的作品,JPEG 压缩无法提供理想的结果。有时,压缩比率会低到 5:1,严重损失了图片完整性。这一损失产生的原因是,JPEG 压缩方案可以很好地压缩类似的色调,但是 JPEG 压缩方案不能很好地处理亮度的强烈差异或处理纯色区域。

优点:? 摄影作品或写实作品支持高级压缩。
? 利用可变的压缩比可以控制文件大小。
? 支持交错(对于渐近式 JPEG 文件)。
? JPEG 广泛支持 Internet 标准。
缺点:? 有损耗压缩会使原始图片数据质量下降。
? 当您编辑和重新保存 JPEG 文件时,JPEG 会混合原始图片数据的质量下降。这种下降是累积性的。
? JPEG 不适用于所含颜色很少、具有大块颜色相近的区域或亮度差异十分明显的较简单的图片。

GIF:图形交换格式
GIF 图片以 8 位颜色或 256 色存储单个光栅图像数据或多个光栅图像数据。GIF 图片支持透明度、压缩、交错和多图像图片(动画 GIF)。

GIF 透明度不是 alpha 通道透明度,不能支持半透明效果。GIF 压缩是 LZW 压缩,压缩比大概为 3:1。GIF 文件规范的 GIF89a 版本中支持动画 GIF。

优点:? GIF 广泛支持 Internet 标准。
? 支持无损耗压缩和透明度。
? 动画 GIF 很流行,易于使用许多 GIF 动画程序创建。
缺点:? GIF 只支持 256 色调色板,因此,详细的图片和写实摄影图像会丢失颜色信息,而看起来却是经过调色的。
? 在大多数情况下,无损耗压缩效果不如 JPEG 格式或 PNG 格式。
? GIF 支持有限的透明度,没有半透明效果或褪色效果(例如,alpha 通道透明度提供的效果)。

TIFF:标记图像文件格式
TIFF 以任何颜色深度存储单个光栅图像。TIFF 可以被认为是印刷行业中受到支持最广的图形文件格式。TIFF 支持可选压缩,不适用于在 Web 浏览器中查看。

TIFF 格式是可扩展的格式。这意味着程序员可以修改原始规范以添加功能或满足特定的需要。修改规范可能会导致不同类型的 TIFF 图片之间不兼容。

优点:? TIFF 是广泛支持的格式,尤其是在 Macintosh 计算机和基于 Windows 的计算机之间。
? 支持可选压缩。
? 可扩展格式支持许多可选功能。
缺点:? TIFF 不受 Web 浏览器支持。
? 可扩展性会导致许多不同类型的 TIFF 图片。并不是所有 TIFF 文件都与所有支持基本 TIFF 标准的程序兼容。

图片格式:矢量图片
DXF:AutoCAD 绘图交换文件
DXF 是 Autodesk AutoCAD 程序使用的基于矢量的 ASCII 格式。AutoCAD 可以提供非常详细的完全可以缩放的图表。

优点:? 您可以使用 AutoCAD 创建非常详细和精确的图表和图形。
? AutoCAD 文件在建筑、设计和雕刻行业很流行。
缺点:? AutoCAD 在 Office 中受到的支持很有限,Office 支持 R12 之前的 AutoCAD 版本。
? AutoCAD 具有很陡的学习曲线。请注意,其他图形程序也可以导出 DXF 图片。

CGM:计算机图形图元文件
CGM 图元文件可以包含矢量信息和位图信息。它是由许多组织和政府机构(包括“英国标准协会”(BSI)、“美国国家标准协会”(ANSI) 和美国国防部)使用的国际性标准化文件格式。

优点:? CGM 是国际标准格式。

CDR:CorelDRAW!
CorelDRAW! 图元文件可以同时包含矢量信息和位图信息。

优点:? CDR 广泛用于印前行业和艺术设计行业。
缺点:? CDR 在 Office 中受到的支持很有限,Office 支持 CorelDRAW! 6 版和更早版本。

WMF:Windows 图元文件
“Windows 图元文件”是 16 位图元文件格式,可以同时包含矢量信息和位图信息。它针对 Windows 操作系统进行了优化。

优点:? WMF 是 Windows 标准格式,可很好地在 Office 中使用。

EPS:Encapsulated PostScript
“Encapsulated PostScript”格式是一种专用的打印机描述语言,可以描述矢量信息和位图信息。

优点:? EPS 可在任何 PostScript 打印机上进行准确的效果呈现。
? EPS 是行业标准格式。
缺点:? 屏幕显示可能与输出的显示不一致。屏幕呈现可能会是低分辨率的,可能会是不同图像,或只是占位符图像。
? EPS 文件旨在用于输出。它们不是用于在屏幕上显示信息的最适合的格式。

EMF:增强型图元文件
“增强型图元文件”是 32 位格式,可以同时包含矢量信息和位图信息。此格式是对“Windows 图元文件格式”的改进,包含了一些扩展功能,例如,下面的功能:

? 内置的缩放比例信息
? 与文件一起保存的内置说明
? 调色板和设备独立性方面的改进
EMF 格式是可扩展的格式,这意味着程序员可以修改原始规范以添加功能或满足特定的需要。此修改可能会导致不同类型的 EMF 图片之间不兼容。

优点:? 可扩展的文件格式
? 与 WMF 相比,经过改进的功能
缺点:? 可扩展性会导致许多不同类型的 EMF 图片,并不是所有 EMF 文件都与所有支持 EMF 标准的程序兼容。

PICT:Macintosh 图片
PICT 文件是用于 Macintosh 计算机的 32 位图元文件格式。PICT 文件使用“行程长度编码”(RLE) 内部压缩,该内部压缩工作相当良好。如果安装了 QuickTime,则 PICT 文件支持 JPEG 压缩(仅限 Macintosh)。

优点:? PICT 是用于 Macintosh 计算机屏幕显示的最佳文件格式。
? 当您从 Macintosh 计算机输出到非 PostScript 打印机时,PICT 是要使用的最佳输出格式。
缺点:? 在平台间移动它们时,字体可能显示得不正确。
? 必须安装 QuickTime 才能正确查看某些 PICT 文件。

分辨率和颜色深度
这一部分讨论了用于光栅图片的适当颜色深度和分辨率。如果您保存图片时使用了正确的分辨率和颜色设置,您就会创建出较小的文件。较小的文件意味着更小、更快的文档和演示文稿。您最感兴趣的是:让您的图片在图片使用要求范围内尽可能小。
屏幕显示
颜色数目 Internet 使用 非 Internet 使用
1(黑白) GIF,分辨率为 72 像素/英寸 (ppi) GIF,分辨率为 72 像素/英寸 (ppi)
16 GIF,分辨率为 72 ppi GIF,分辨率为 72 ppi
256(简单图片)* GIF,分辨率为 72 ppi GIF,分辨率为 72 ppi
256(复杂图片)* JPEG,分辨率为 72 ppi JPEG,分辨率为 72 ppi
超过 256 JPEG 或 PNG,分辨率为 72 ppi JPEG、PNG 或 TIFF,分辨率为 72 ppi

注意:Microsoft 推荐的分辨率为 72 像素/英寸,因为大多数监视器的分辨率位于 60 像素/英寸与 80 像素/英寸之间。使用较高的分辨率保存不会产生较高的显示质量,因为您的监视器无法显示比监视器中实际存在的像素更多的像素。您应该根据图片已完成的大小而不是原始大小来计算每英寸的点数。例如,如果您在扫描一个 8.5 x 2 英寸的信头以便在 Web 页上使用,已完成的宽度是 2 英寸,您可以使用 72 ppi 来扫描这 2 英寸,总计为 144 像素。当它的大小被设置为 2 英寸并在显示视器上显示时,最终的文件看起来效果会非常好。

*注意:在 256 色,JPEG 文件可提供比 GIF 文件高的压缩级别。但是,在压缩某些简单文件时,JPEG 压缩不如 GIF 压缩有效。

? 如果您的图片是灰度图片,具有一大块纯色区域,或者具有高对比度(浅色区域和深色区域之间具有强烈差异)的区域,请选择 GIF 格式。

? 如果您的图片是彩色图片,并包含多种不同的颜色(色调),这些颜色(色调)的亮度或暗度(值)类似,请选择 JPEG 格式,因为 JPEG 格式可以提供更好的压缩。JPEG 压缩根据色调工作,适用于处理值类似的不同色调。JPEG 压缩不能很好地处理具有不同值的类似色调。

打印输出
如何创建良好的打印输出是一个复杂的主题,因为可供使用的打印机数量众多,而且每台打印机生成彩色输出和灰度输出的功能是不同的。产生良好打印输出的主要因素是您的打印机能够打印的每英寸行数 (LPI)。

要以彩色或灰度模式打印,打印机必须在中间色调中打印。中间色调是排列在网格中的点的阵列,这些点将每个图像像素表示为一个灰色阴影。对于深灰色,网格中的大多数点会被填充。对于浅灰色,网格上只有很少的点被填充。打印机的 LPI 设置决定了此网格的大小。LPI 越高,网格就越小,打印机能够呈现的灰色阴影就越少。

要以彩色打印,打印机必须打印彩色点的重叠行。每个点都是在不同于其他点的角度上设置的,会略有偏移,所以这些点不能完全相互覆盖。这种度量单位称为“屏幕频率”,以组成该颜色的点的行旋转度数表示。

下表可帮助您选择用于扫描的最佳分辨率,以点/英寸 (dpi) 为单位。

打印机类型 输出 dpi 输出 LPI 扫描 ppi
Laser printer 300 55-65 120
Laser printer 600 65-85 150
Ink-Jet printer 300 50-60 110
Dye-Sub printer 300 55-70 125
Imagesetter 1250+ 120-150 300

要计算您的目标扫描分辨率,您可以将打印机的 LPI 乘以 2。这是一般规则。要弄清楚您的打印机的 LPI,请参阅您的打印机文档。

注意:当您应用 LPI 乘以 2 的一般规则时,您必须进行试验。有些打印机支持非常高的分辨率。如果您使用大于 300 ppi 的分辨率保存图片,较大的图片可能会占用大量的磁盘空间,而且会减慢您的计算机上的其他操作。文档中的多个大图片可能会导致某个程序停止响应,或者可能会导致 Windows 停止响应。

该规则的唯一例外是,纯黑白图像,即“线型”图像。这些图像使用 1 位存储颜色信息。请使用 1 对 1 的比率扫描这些图像。如果您的打印机分辨率是 600 dpi,请在“线型”模式中使用 600 ppi 扫描这些图像。

如果您希望您的图片以灰度显示或者少于 256 色,请使用 TIFF 格式或 GIF 格式。TIFF 格式是印刷行业用于图形的标准,因为 TIFF 格式不使用有损耗压缩方案。其他格式,例如 JPEG,使用有损耗压缩方案。TIFF 还支持多层透明度,而几乎没有其他格式支持多层透明度。

如果图片多于 256 色,请用 TIFF 格式或 PNG 格式保存图片。如果您需要透明度,Microsoft 建议使用 PNG 格式。如果您不需要透明度,请使用 TIFF 格式。

Microsoft 建议您根据已完成图片大小的打印机分辨率保存图片。例如,假定您有一个 8.5 x 2 英寸的信头,您需要以 2 英寸的大小打印该信头。如果您的打印机支持 600 dpi 和 85 LPI,请将该图片分辨率设置为 2 英寸时为 150 ppi,即可得到 300 x 71 像素的大小。

术语表
? Alpha 通道:Alpha 通道描述图片中的透明区域。此透明区域允许通透地显示背景。Alpha 通道允许超过 64,000 层的透明效果,这样,就可以使用半透明效果和混合效果。
? 颜色深度:颜色深度是图片中的颜色数。颜色深度按位深度划分类别。如果您使用较深的颜色深度,图片中就会有更多颜色,但是较深的颜色深度也会增加文件大小。? 1 位:仅黑白
? 8 位:256 灰度阴影或 256 色
? 16 位:高彩,65,536 色
? 24 位:真彩色,16,777,216 色
? 32 位:真彩色,4,294,967,296 色

? 压缩:压缩是一种通过去除冗余信息使图片文件更小的数学方案。有两种压缩类型:无损耗压缩和有损耗压缩。
? 压缩,无损耗:无损耗压缩是一种强调维护原始图片完整性的压缩方案。当图片被解压缩后,它会保持与原始的未经压缩图片相同的分辨率和图片质量。
? 压缩,有损耗:有损耗压缩是一种强调生成小图片文件(甚至以图片质量为代价)的压缩方案。与无损耗压缩相比,有损耗压缩可以生成更小的图片文件;但是,当您解压缩图片时,有些原始图片数据会丢失而且无法恢复。
? 文件大小:当您处理图片文件时,文件大小是最终的限制因素。当您在 Microsoft Office 中处理图片时,文件大小是引发问题最常见的原因。文件大小由以下因素决定:图片大小、分辨率、文件格式、压缩和颜色深度。
? 伽玛校正:这是一种校正图片亮度或暗度的方法,以便图片在任何监视器上以相同的亮度显示。
? 色调:色调描述颜色中红色、绿色或蓝色的相对量。例如,粉红色和深红色中都有红色色调。
? 交错:交错是一种通过 Internet 发送图片数据的方法。当某个图片交错时,会发生以下情况:在下载了该图片的 1/64 后,您可以看到图片外观形状的总体图像