久久首页
免费软件
网络时尚
网络学堂
专题讨论
网络资源
网络游戏
网络文档
网络产品
网站导航: 首页 > 网络知识 > 电脑常识 学堂讨论 | 推荐文章

GIF89a的特性(二)


2004-05-24 金桥 
 

    九、透明GIF中的图形保真

    在透明GIF图形中图形保真将导致一个最普遍的问题:所谓“图形保真现象”主要是分散物体周围的彩色光环,而使这些光环不能够自然的混合到背景中。如果您的动画是暗色背景,这种情况尤其令人讨厌。
    下面是解决图形保真现象问题的两种办法:
    (1)首先创建没有图形保真的图像,例如Photoshop在Text对话框中有一个图形保真复选框。
    (2)创建相对于背景色而言可图形保真的图像。实际中,这是很困难的,尤其是当站点的背景使用的是多色纹理的时候。原则上,如果您要选一种颜色图形保真图像,那么就请选用那种与站点主背景色相似但深一些的颜色。

    十、循环
 
    循环Looping可以让动画在下载后循环播放或重新开始。GIF格式让您可以设置循环值为None(从不)或Forever(一直),或为循环设置一个特定的次数。循环的最大优势是:当动画被下载到浏览器中的高速缓存中时,它会以用户计算机支持的最快速度重新播放动画。
    不幸的是,对那些试图支持尽可能多类型的平台和浏览器的站点来说,循环充满了陷阱。一些浏览器将在动画的第一帧中止,有些则在最后一帧中止,这意味着对标题广告这样的东西将产生影响,因为当您创建动画时,一般希望将广告的主要信息放在第一帧和最后一帧中。
    一些旧式的浏览器在遇到无限循环的GIF时会突然停止,而且没完没了的播放的动画会很讨厌,且会让人分心,因此,在GIF中设置一个最大的循环次数是一个很好的主意。
    如果您用的是一个很紧凑的动画(如广告条),您也许应将循环值设置为None,这样的动画放过一遍之后会停在最后一帧上。或者将其设置为循环两次,它放完一遍后,将在最后一帧停很长一段时间,然后再播放一遍。另一方面,有些浏览器不支持有限次数的循环,也就是说它们将使动画无限循环下去。
如果您的Web站点所面向的用户使用的是最新的Netscape Communicator和Microsoft Internet Explorer,那么您可以领先一步,尽可放心使用GIF89a的循环功能。

    十一、帧定位

    动画的每一帧的大小都可在一个很大的范围变化,所以您可以创建一个小精灵(Sprite),让它在较大的空动画帧中移动。而一张空GIF帧压缩后几乎为零,所以您可以用帧定位来创建动画,它占据了大量面积但却不会显著的增加文件大小。
    定位数值是指帧的左上角相对于动画窗口的左上角的偏移量,您也可设置帧的速度而不是偏移量。尽管这一技术让您可以直接在GIF应用程序中创建一些简单动画,但这种方法比较粗糙。一般来说,如果创建全尺寸帧动画,并用帧优化来保存结果,那么您的工作将会好得多。

    十二、帧优化

    只有一部分GIF动画程序具有帧优化(frame optimization)功能,如GIFBuilder。实质上,这种功能是先分析动画的每一帧,将其裁剪为最小的帧,它包含相对于前一帧的所有变化;然后保存这一帧,记录下它相当于整个动画的帧定位信息。就动画的尺寸而言,帧优化可提供您能达到的最大存储,因为,您的背景也许是460×40像素,而这里面除第一帧外,每一帧只不过20×2O像素。
    然而,不是所有的GIF动画程序都支持自动帧优化,并且一些动画(尤其是视频帧)的背景很繁杂,即使相对于人眼来说是静态的,在软件看来帧与帧之间都存在着很大的变化。
    如果您拥有的创建GIF文件的软件不提供帧优化功能,或者它不能按您希望的方式自动优化帧,那么您可以进行手动帧优化,但这将需要可设置帧位置的GIF软件和图像编辑软件(如Photoshop)。在裁剪图像之前,后者能够显示一个可选择的水平定位和竖直定位。
    在图像编辑软件中打开动画的每一帧,在您希望相对于背景保留的区域处画一个可选择的位置,记下它的水平和竖直偏移量,然后裁剪并保存这一帧。对动画的每一帧都进行这样的操作,然后在GIF文件创建程序中打开它们,对每一帧按在图像编辑器中记录的数据设置水平的和竖直的偏移量,以此作为帧的定位,然后保存动画。

    十三、帧间延迟

帧间延迟(interframe delay)是一个定时中用的想象名词。简单地说,帧间延迟就是在新的帧被载入之前某一帧在屏幕上停留的时间长短,它以1/100秒的增量来定义,所以1秒的帧间延迟就要输入10O。另一选项“As Fast As Possible”使得帧可以按用户机器可达到的最快速度下载和播放,在速度很快的计算机上,这一选项通常显得太快了,所以您最好设定数字值。全运动视频以30fps播放,也就是说,您一般要将每一帧的帧间延迟至少设为33.3fps。为每一帧设置定时的一大优点是,您只需将播放一帧的时间设为两倍,而不用复制帧,后者将导致文件增大。
    尽管GIF支持帧定时设置,但GIF其实是一种逐帧定时的格式,而不是基于时间的格式。因此,浏览器会不按实际时间播放,尤其是当浏览者的机器很慢,难以跟上动画的帧间延迟设置时。这种情况使得动画与音频或别的基于时间的媒体不可能同步,尤其是对较慢的因特网连接,您必须假定动态GIF在放完第一次之后不会以全速回放。因此,您通常应该设定循环值让动画至少播放两遍,这样用户能至少看到一次动画按全速播放。然而,限定循环数并非在每个浏览器上都能正常工作,动画也可能会循环不止。

    十四、布局方法

    布局方法(disposal method)会在帧延迟间隔期满后决定动画的每一帧该怎么办。如果您在创建一个动画,并且把透明度关掉,当动画的每一帧完全覆盖前一帧时,您可将值设为 Unspecified。
    如果您的动画是增量式(additive),也就是说,动画的每一帧相对于前一帧增加的新内容,如在屏蔽上书写的动画,那么就使用Do Not Dispose选项。
    如果动画使用透明度,并且描述一个物体(例如一个滚动徽标)在Web页的背景上移动,那么就请用Revert to Background。
    如果您的动画使用背景图像,例如一张大背景,上面有些很小的演员穿过,背景选用透明,例如一幅看上去在Web页背景前的街市场景,那么请使用Revert to Previous。
    如果不是每一帧被设为Not Dispose或Unspecified,帧优化不会像期望的那样执行(
这个名词随不同的GIF软件发生改变,所以您也许要进行试验以得到对应的含义)。当使用帧优化时,Restore Previous和Restore Background都会造成不需要的效果。

 
发表评论 推荐文章 关闭窗口
 相关内容
- GIF89a的特性(一) 2004-05-24
- 寻找回来的世界 恢复误删的文件 2004-05-24
- 为Windows XP攒台“跑”得快的电脑 2004-05-24
- 边下载 边播放 直击“流媒体” 2004-05-24
- 挑选液晶显示器的标准——LCD白皮书 2004-05-25
- 灵光四射的拼音加加输入法 2004-05-24
- 明明白白认识OE中的DBX文件 2004-05-24
- 汉字输入高手绝技十一招 2004-05-24
- 低价液晶电脑:“猫腻”藏在心里 2004-05-24
- 创建自己的电子邮件“信纸” 2004-05-24
 
 学堂分类
网络知识操作系统
网络应用网络服务
网页开发网络编程
数据存储网络设备
 文章搜索
 
网站简介 | 广告服务 | 编程支持 | 设计服务 | 诚邀合作 | 访客留言
Copyright © 1999-2004 99NET. All Rights Reserved
版权所有 久久网络工作室
Email:webmaster@99net.net