美高梅官方网站3045-mgm6608美高梅app下载
浮动缩略图_php功底_脚本之家

浮动缩略图_php功底_脚本之家

作者:mgm6608美高梅app下载    来源:未知    发布时间:2019-11-22 19:37    浏览量:

生成缩略图$tx=GetImageSize;if($tx[0]<=$tx[1] and $tx[1]>=120){ $height=120; $width=intval($height*$tx[0]/$tx[1]);}if($tx[0]>=$tx[1] and $tx[0]>=100){ $width=100; $height=intval;}if($tx[0]<100 and $tx[1]<120){ $width=$tx[0]; $height=$tx[1];}makethumb2($sample,$target,$width,$height);// $srcFile: 源文件// $dstFile: 目标文件// $dstW: 目标图片宽度// $dstH: 目标文件高度function makethumb2($srcFile,$dstFile,$dstW,$dstH){ $data=GetImageSize; switch{ case 1: $im=@ImageCreateFromGIF; break; case 2: $im=@ImageCreateFromJPEG; break; case 3: $im=@ImageCreateFromPNG; break; } $srcW=ImageSX; $srcH=ImageSY; $ni=ImageCreate; ImageCopyResized($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH); ImageJpeg; // 如果需要输出到浏览器,那么将上一句改为ImageJpeg; // 如果需要其它格式的图片,改动最后一句就可以了}

生成缩略图
$tx=GetImageSize($sample);
    if($tx[0]<=$tx[1] and $tx[1]>=120){
       $height=120;
       $width=intval($height*$tx[0]/$tx[1]);
    }
    if($tx[0]>=$tx[1] and $tx[0]>=100){
       $width=100;
       $height=intval($width*$tx[1]/$tx[0]);
    }
    if($tx[0]<100 and $tx[1]<120){
       $width=$tx[0];
       $height=$tx[1];
    }
    makethumb2($sample,$target,$width,$height);
    // $srcFile: 源文件
    // $dstFile: 目标文件
    // $dstW: 目标图片宽度
    // $dstH: 目标文件高度
    function makethumb2($srcFile,$dstFile,$dstW,$dstH){
                 $data=GetImageSize($srcFile,&$info);
                 switch($data[2]){
                            case 1:
                                     $im=@ImageCreateFromGIF($srcFile);
                                     break;
                            case 2:

12.3  自动微缩图的生成
    由于图片的数据量比较大,传递过程相对较长,所以在用户浏览图片时,常常希望先
显示一个图片的缩略图。
    虽然在HTML中可以通过指定图片的宽度和高度来随意缩放图片,但是这种方法不会
减少图片的像素数目。图形文件的尺寸没有改变,当然也不会加快图片下载的速度了。当
然也可以手动通过图形软件生成图片的缩略图,但对于大量的图片展示来说,这个工作量
将十分巨大。为此微缩图的自动生成程序就被设计出来了。
    PHP中提供的imagecopyresized函数就可以用来生成真正的缩赂图片。该函数的标推
语法如下:
    语法:int imagecopyresized(int dst_im,int src_im,int dstX,int dstY,
int srcX,int srcY,int dstW,int dstH,int srcW,int srcH);

  返回值:整数
  函数种类:图形处理
  内容说明:本函数可复制新图,并重新调整图片的大小尺寸。参数都是目的在前,来
源在后。参数dst im及src_im为图片的handle。参数dstX、dstY、srcX、srcY分别为目的
及来源的坐标。参数dstW、dstH、srcW、srcH分别为来源及目的的宽及高,欲调整的新图
的尺寸就在这儿配置。
    下面举个例子来说明这个函数的用法,对应的程序thumb.php如程序清单12—5所示。

  程序清单12—5  thumb.php

 代码如下

<?
// 本函数从源文件取出图像,设定成指定大小,并输出到目的文件
// 源文件格式:gif,jpg,png
// 目的文件格式:gif
// $srcFile:源文件
// $dstFile: 目标文件
// $dstW:目标图片宽度
// $dstH:目标文件高度
function makethumb($srcFile,$dstFile,$dstW,$dstH)
{
 $data = GetImageSize($srcFile,&$info);
 switch ($data[2])
 {
  case 1:
   $imgsrc = @ImageCreateFromGIF($srcFile);
   break;
  case 2:
   $imgsrc = @ImageCreateFromJPEG($srcFile);
   break;
  case 3:
   $imgsrc = @ImageCreateFromPNG($srcFile);
   break;
 }
 $srcW = ImageSX($imgsrc);
 $srcH = ImageSY($imgsrc);
 $ni = ImageCreate($dstW,$dstH);
 ImageCopyResized($ni,$imgsrc,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
 Imagegif($ni,$dstFile);
 // 如果需要输出到浏览器,那么将上一句改为 ImageJpeg($ni);
 // 如果需要其他格式的图片,改动最后一句就可以了
}
?>

在这个例子中,首先通过getimagesize()函数获得源图片的情况,再用 imagecreatefromgif()、
imagecreatefromjpeg()或imagecreatefrompng()创建一个源位图$imgsrc,然后用
imagecreate()函数创建一个目标位图,其长、宽各是源位图的一半。然后调用imagecopyresized()
函数,将源位图缩小后拷贝到目标位图中,最后再用imagegif()函数生成缩略图。
    这里所用到的图形处理函数就是由安装的GD库提供的,现对其分别进行说明。首先
介绍getimagesize()函数,其标准语法如下。
    语法:array getimagesize(string filename,array [imageinfo]);
    返回值:数组
    函数种类:图形处理
    内容说明:本函数可用来取得GIF、JPEG及PNG  3种WWW上图片的高与宽,不
需要安装GD library就可以便用本函数。返回的数组有4个元素,返回数组的第一个元素(索
引值0)是图片的高度,单位是像素(pixel);第二个元素(索引值1)是图片的宽度;第三个元
素(索引值2)是图片的文件格式,其值1为GIF格式、2为JPEG/JPG格式、3为PNG格式;
第四个元素(索引值3)为图片的高与宽字符串,height=xxx width=yyy。
    通过getimagesize()函数的应用,能轻易获取图片的各种信息。下面给大家举一个获取
图片宽度、高度、格式、文件大小的信息的例子,来进一步领会getimagesize()函数的使用
技巧。程序imginfo如程序清单12—6所示。

  程序清单12-6  imginfo.php

上一篇:没有了
下一篇:没有了
友情链接: 网站地图
Copyright © 2015-2019 http://www.zen-40.com. mgm美高梅有限公司 版权所有