兼容性最强的PHP生成缩略图的函数代码(修改版)

复制代码 代码如下:

function ImageResize($srcFile,$toW,$toH,$toFile="")
{
if($toFile==""){ $toFile = $srcFile; }
$info = "";
$data = GetImageSize($srcFile,$info);
switch ($data[2])
{
case 1:
if(!function_exists("imagecreatefromgif")){
echo "你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!<a href='javascript:go(-1);'>返回</a>";
exit();
}
$im = ImageCreateFromGIF($srcFile);
break;
case 2:
if(!function_exists("imagecreatefromjpeg")){
echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!<a href='javascript:go(-1);'>返回</a>";
exit();
}
$im = ImageCreateFromJpeg($srcFile);
break;
case 3:
$im = ImageCreateFromPNG($srcFile);
break;
}
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$toWH=$toW/$toH;
$srcWH=$srcW/$srcH;
if($toWH<=$srcWH){
$ftoW=$toW;
$ftoH=$ftoW*($srcH/$srcW);
}
else{
$ftoH=$toH;
$ftoW=$ftoH*($srcW/$srcH);
}
if($srcW>$toW$srcH>$toH)
{
if(function_exists("imagecreatetruecolor")){
@$ni = ImageCreateTrueColor($ftoW,$ftoH);
if($ni) ImageCopyResampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
else{
$ni=ImageCreate($ftoW,$ftoH);
ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
}
}else{
$ni=ImageCreate($ftoW,$ftoH);
ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
}
if(function_exists('imagejpeg')) ImageJpeg($ni,$toFile);
else ImagePNG($ni,$toFile);
ImageDestroy($ni);
}
ImageDestroy($im);
}

时间: 2024-09-11 22:46:06

兼容性最强的PHP生成缩略图的函数代码(修改版)的相关文章

兼容性最强的PHP生成缩略图的函数代码(修改版)_php技巧

复制代码 代码如下: function ImageResize($srcFile,$toW,$toH,$toFile="") { if($toFile==""){ $toFile = $srcFile; } $info = ""; $data = GetImageSize($srcFile,$info); switch ($data[2]) { case 1: if(!function_exists("imagecreatefromgi

兼容性最强的PHP生成缩略图的代码

function ImageResize($srcFile,$toW,$toH,$toFile="") { if($toFile==""){ $toFile = $srcFile; } $info = ""; $data = GetImageSize($srcFile,$info); switch ($data[2]) { case 1: if(!function_exists("imagecreatefromgif")){

php 为图片加水印函数和缩略图的函数代码

php 为图片加水印函数和缩略图的函数代码 /** * 为图片加水印 * @param string $desImg 目标图片 参数格式为 ./images/pic.jpg * @param string $waterImg 水印图片 参数格式同上,水印图片为 png格式,背景透明 * @param int positon 水印位置 1:顶部居左 2:顶部居右 3:居中 4 :底部居左 5:底部居右 * @param bool $saveas 是否另存为,默认值false,表示覆盖原图 * @p

c#多图片上传并生成缩略图的实例代码_实用技巧

前台代码: 复制代码 代码如下:  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="upload.aspx.cs" Inherits="upload" %>  <!DOCTYPE html>  <html xmlns="http://www.w3.org/1999/xhtml"> <head runat

php生成缩略图的类代码_php技巧

<?php /** * 功能:生成缩略图 * 作者:phpox * 日期:Thu May 17 09:57:05 CST 2007 */ class CreatMiniature { //公共变量 var $srcFile=""; //原图 var $echoType; //输出图片类型,link--不保存为文件:file--保存为文件 var $im=""; //临时变量 var $srcW=""; //原图宽 var $srcH=&qu

兼容性比较好的PHP生成缩略图的代码_php技巧

复制代码 代码如下: function ImageResize($srcFile,$toW,$toH,$toFile="") { if($toFile==""){ $toFile = $srcFile; } $info = ""; $data = GetImageSize($srcFile,$info); switch ($data[2]) { case 1: if(!function_exists("imagecreatefromgi

php 缩略图实现函数代码

array getimagesize ( string $filename [, array &$imageinfo ] ) 取得图像大小 resource imagecreatetruecolor ( int $x_size , int $y_size ) 新建一个真彩色图像 resource imagecreatefromjpeg ( string $filename ) 从 JPEG 文件或 URL 新建一图像 bool imagecopyresized ( resource $dst_i

ASP保存远程图片到本地,并生成缩略图

ASP通过XMLHTTP获取远程图片流数据,并保存到本地,把第一张采集到的图片生成缩略图. 具体代码如下: <% '================================================== '函数名:CheckDir2 '作 用:检查文件夹是否存在 '参 数:FolderPath ------文件夹地址 '================================================== Function CheckDir2(byval Folder

c#生成缩略图不失真的方法

 使用.net的方法GetThumbnailImage生成的缩略图失真严重,这里推荐一种不失真生成缩略图的方法 代码如下: /// <summary> /// 获得缩微图 /// </summary> /// <returns></returns>   public bool GetThumbImg() { try { string imgpath; //原始路径      if(imgsourceurl.IndexOf("",0)<