我觉得网络编程与普通编程最大的区别就是,网络编程除了具备普通编程的特性外,还要花很大精力考虑速度的问题。
网站上需要很多图片,现在有很多给用户存放照片,图片的“像册”程序,可以让用户自己上传图片,然后自动缩成小图,可以让你在一个页面看到很多小图,然后点击小图看大图。
注意:在网页中指定长宽显示图片,只能让图片以小尺寸显示,但是大小(容量)不变(可以看看属性),速度自然很慢。真正的缩图是把大图的大小(容量)变小,就是重新生成一个小尺寸的图片文件。我的一个程序有此功能,正在测试:www1.yn.cninfo.net/love
另外,装上gd库,还有很多功能,可以用程序画图,做些特别的计数器之类,还可以支持freetype字体等等,里面函数很多,功能很强大。
先简单说说gif,jpg,png,bmp图的区别:他们都是图形压缩格式。gif格式单图最多能显示256种颜色,可以保存多图,适合做小动画,容量较大。 jpeg格式,支持24位(16 百万)种颜色,适合于静态图,容量较小。png格式,包含gif,jpeg的所有特点,支持48位颜色,但是容量较大,而且应用不广泛。 bmp格式,颜色少,非常老的压缩格式,对于网络来说太大了。
在php中实现大图自动缩成小图其实很简单,装上gd库,用一个小函数就可以了,但是安装gd库很麻烦。在1.6.2 版以前的 gd library 有支持 gif 格式的功能,但因为 gif 格式使用的 lzw 演算法牵涉到 unisys 的专利权,因此在 gd library 1.6.2 版之后不支持 gif 的格式。
php 在 3.0.13 版之后,终于支持了 png 的图型格式,使用 png 就不怕会有版权的问题了,而且在 php 这个版本以后,安装编译时会检查 gd library 支持的是旧的 gif 格式还是新的 png 格式来决定是否使用 gif 或 png 的专用函数。
一,安装gd库:
1。环境:windows2000server+php4.0.4+gd+iis
在windows中安装很容易,php4.0以上版本中自带,装好后在php4/extensions 目录中自带动态链接库:php_gd.dll 。只要在php.ini 中把 ;extension=php_gd.dll 前面的;去掉,然后重起webserver(iis或apache),就行了。运行一个带有<? phpinfo();?>的php程序,里面有以下内容就说明可以用了:
gd
gd support enabled
gd version 1.6.2 or higher
freetype support enabled
freetype linkage with ttf library
jpg support enabled
png support enabled
wbmp support enabled
另外,网上有个php_gd_gif.dll 可以下载,把它改名为php_gd.dll覆盖掉原文件,重起iis,就可以实现带gif库的gd库。
到 http://php.weblogs.com/php_gd 下载 php_gd_404.zip,解压完成上面操作。
这是for php4.0.4的,其他版本的php不能用,(老板本的php4.0.0可以去下载php_gd_gif.zip)。
呵呵,搞定后你的phpinfo()就会多显示一个gif support enabled ,但是涉及到版权问题,自己看着办吧。
在linux装gd库
| 对此文章发表了评论 |
