当前位置:首页 » 编程语言 » php显示缩略图

php显示缩略图

发布时间: 2025-01-23 14:22:17

php怎么给psd图片生成缩略图

psd是不会通过缩略图显示的,用其他能打开它的软件可以外,其他都是没法的。你这个php生成缩略图是在什么地方生成嘛,在网页上面的话浏览器只支持jpg/gif/png这几种图片格式,其他的都是个别支持不通用的。
求采纳

❷ 怎样解决phpcms V9中缩略图模糊问题

如果你是自动获取的缩略图肯定效果不是很好的,比如前台调用的是{thumb($r[thumb],90,125)},如果后台你发布的缩略图是先处理为宽90 高125的,前台调用就可以不加那个90,125,变为{thumb($r[thumb])}就会少压缩一次,质量会好的。

❸ phpcms v9不显示缩略图的问题

用{thumb($v[thumb])}也可以输出,这样就不会对图片进行剪裁了

❹ 求如何用php读取指定文件夹中的所有图片,生成缩略图,在网页上分页显示,单击缩略图就在新页面显示大图。

生成缩略图采用读取文件夹的方式
$handle = opendir($dir)
while(false !== ($file = readdir($handle)))
{
if($file 是图片)
{
生成缩略图代码
}
}

❺ php创建缩略图问题

其实PHP创建缩略图就是在PHP在原图片的基础上创建一张新的图片的过程,而用PHP创建图像的过程一般分成四部:

第一步:创建一张画布(只要是画图都需要一张画布的)

第二步:在画布画东西(可以画各种图形,如长方形,直线,等等,也可以在画布上写字啥的,或者画其他的图形)

第三步:画完图之后,将图片输出,将图片输出到浏览器,在浏览器显示出来,或者保存为一张新 的图片(缩略图一般是保存为图片文件的)

第四步:因为创建画布时打开了文件流,所以要关闭资源,节省内存。(个人觉得你可以这样理解,打开了一画布,把它铺开了,画完了就把画布卷起来,收起来,不要占着铺的地方)


具体的代码如下:(这段代码来源于ThinkPHP的图像类)

<?php
classThumb{
/**
*@paramstring$image原图
*@paramstring$thumbname缩略图文件名
*@paramstring$type图像格式
*@paramstring$maxWidth宽度
*@paramstring$maxHeight高度
*/
staticcreate($img,$thumbname,$type='',$maxWidth=200,$maxHeight=50)
{
$info=getimagesize($img);//获取原图的图像信息(长、宽、格式等)
if($info!==false){
$srcWidth=$info['width'];
$srcHeight=$info['height'];
$type=empty($type)?$info['type']:$type;
$type=strtolower($type);
$interlace=$interlace?1:0;
unset($info);
$scale=min($maxWidth/$srcWidth,$maxHeight/$srcHeight);//计算缩放比例
if($scale>=1){
//超过原图大小不再缩略
$width=$srcWidth;
$height=$srcHeight;
}else{
//缩略图尺寸
$width=(int)($srcWidth*$scale);
$height=(int)($srcHeight*$scale);
}

//载入原图(在原图的基础上创建画布,为第一步)
$createFun='ImageCreateFrom'.($type=='jpg'?'jpeg':$type);
if(!function_exists($createFun)){
returnfalse;
}
$srcImg=$createFun($image);

//第二步开始
//创建缩略图
if($type!='gif'&&function_exists('imagecreatetruecolor'))
$thumbImg=imagecreatetruecolor($width,$height);
else
$thumbImg=imagecreate($width,$height);
//png和gif的透明处理byluofei614
if('png'==$type){
imagealphablending($thumbImg,false);//取消默认的混色模式(为解决阴影为绿色的问题)
imagesavealpha($thumbImg,true);//设定保存完整的alpha通道信息(为解决阴影为绿色的问题)
}elseif('gif'==$type){
$trnprt_indx=imagecolortransparent($srcImg);
if($trnprt_indx>=0){
//itstransparent
$trnprt_color=imagecolorsforindex($srcImg,$trnprt_indx);
$trnprt_indx=imagecolorallocate($thumbImg,$trnprt_color['red'],$trnprt_color['green'],$trnprt_color['blue']);
imagefill($thumbImg,0,0,$trnprt_indx);
imagecolortransparent($thumbImg,$trnprt_indx);
}
}
//复制图片
if(function_exists("ImageCopyResampled"))
imageresampled($thumbImg,$srcImg,0,0,0,0,$width,$height,$srcWidth,$srcHeight);
else
imageresized($thumbImg,$srcImg,0,0,0,0,$width,$height,$srcWidth,$srcHeight);

//第三步:输出图像
//生成图片
$imageFun='image'.($type=='jpg'?'jpeg':$type);
$imageFun($thumbImg,$thumbname);

//第四步:关闭画布
imagedestroy($thumbImg);
imagedestroy($srcImg);
return$thumbname;
}
returnfalse;

}

}
?>

你使用的时候直接用:

requireThumb.class.php
$thumb=Thumb::create('s.jpg','thumb_s.jpg',100,50);

希望我的回答你能满意

❻ PHP 图片上传生成缩略图

//2014年3月5日15:08:02因为需要做缩略图,所以改用thinkphp来做上传,它支持时间戳命名,方便命名,以及更名
//这是以前网络到的,然后使用的缩略图代码,需要cg库支持

/**
*生成缩略图
*@[email protected]
*@paramstring源图绝对完整地址{带文件名及后缀名}
*@paramstring目标图绝对完整地址{带文件名及后缀名}
*@paramint缩略图宽{0:此时目标高度不能为0,目标宽度为源图宽*(目标高度/源图高)}
*@paramint缩略图高{0:此时目标宽度不能为0,目标高度为源图高*(目标宽度/源图宽)}
*@paramint是否裁切{宽,高必须非0}
*@paramint/float缩放{0:不缩放,0<this<1:缩放到相应比例(此时宽高限制和裁切均失效)}
*@returnboolean
*/
functionfileext($file)
{
returnstrtolower(pathinfo($file,PATHINFO_EXTENSION));
}

functionimg2thumb($src_img,$dst_img,$width=75,$height=75,$cut=0,$proportion=0)
{
if(!is_file($src_img))
{
returnfalse;
}
$ot=$this->fileext($dst_img);
$otfunc='image'.($ot=='jpg'?'jpeg':$ot);
$srcinfo=getimagesize($src_img);
$src_w=$srcinfo[0];
$src_h=$srcinfo[1];
$type=strtolower(substr(image_type_to_extension($srcinfo[2]),1));
$createfun='imagecreatefrom'.($type=='jpg'?'jpeg':$type);

$dst_h=$height;
$dst_w=$width;
$x=$y=0;

/**
*缩略图不超过源图尺寸(前提是宽或高只有一个)
*/
if(($width>$src_w&&$height>$src_h)||($height>$src_h&&$width==0)||($width>$src_w&&$height==0))
{
$proportion=1;
}
if($width>$src_w)
{
$dst_w=$width=$src_w;
}
if($height>$src_h)
{
$dst_h=$height=$src_h;
}

if(!$width&&!$height&&!$proportion)
{
returnfalse;
}
if(!$proportion)
{
if($cut==0)
{
if($dst_w&&$dst_h)
{
if($dst_w/$src_w>$dst_h/$src_h)
{
$dst_w=$src_w*($dst_h/$src_h);
$x=0-($dst_w-$width)/2;
}
else
{
$dst_h=$src_h*($dst_w/$src_w);
$y=0-($dst_h-$height)/2;
}
}
elseif($dst_wxor$dst_h)
{
if($dst_w&&!$dst_h)//有宽无高
{
$propor=$dst_w/$src_w;
$height=$dst_h=$src_h*$propor;
}
elseif(!$dst_w&&$dst_h)//有高无宽
{
$propor=$dst_h/$src_h;
$width=$dst_w=$src_w*$propor;
}
}
}
else
{
if(!$dst_h)//裁剪时无高
{
$height=$dst_h=$dst_w;
}
if(!$dst_w)//裁剪时无宽
{
$width=$dst_w=$dst_h;
}
$propor=min(max($dst_w/$src_w,$dst_h/$src_h),1);
$dst_w=(int)round($src_w*$propor);
$dst_h=(int)round($src_h*$propor);
$x=($width-$dst_w)/2;
$y=($height-$dst_h)/2;
}
}
else
{
$proportion=min($proportion,1);
$height=$dst_h=$src_h*$proportion;
$width=$dst_w=$src_w*$proportion;
}

$src=$createfun($src_img);
$dst=imagecreatetruecolor($width?$width:$dst_w,$height?$height:$dst_h);
$white=imagecolorallocate($dst,255,255,255);
imagefill($dst,0,0,$white);

if(function_exists('imageresampled'))
{
imageresampled($dst,$src,$x,$y,0,0,$dst_w,$dst_h,$src_w,$src_h);
}
else
{
imageresized($dst,$src,$x,$y,0,0,$dst_w,$dst_h,$src_w,$src_h);
}
$otfunc($dst,$dst_img);
imagedestroy($dst);
imagedestroy($src);
returntrue;
}

❼ ThinkPHP3.2.3 上传图片到ftp,同时生成缩略图。

ThinkPHP上传文件类:

$upload = new ThinkUpload($config);// 实例化上传类

使用这个。

如要处理图片大小。需要另外调用图像处理:

裁剪图片

$image=newThinkImage();
$image->open('./1.jpg');
//将图片裁剪为400x400并保存为corp.jpg
$image->crop(400,400)->save('./crop.jpg');
居中裁剪
$image=newThinkImage();
$image->open('./1.jpg');
//生成一个居中裁剪为150*150的缩略图并保存为thumb.jpg
$image->thumb(150,150,ThinkImage::IMAGE_THUMB_CENTER)->save('./thumb.jpg');
热点内容
冒险岛按键精灵脚本下载 发布:2025-01-23 19:46:50 浏览:751
安卓访问共享需要开通什么服务 发布:2025-01-23 19:43:01 浏览:518
vs2015c语言调试 发布:2025-01-23 19:42:47 浏览:142
山西认证服务器连接不上云服务器 发布:2025-01-23 19:38:26 浏览:442
linux中断驱动 发布:2025-01-23 19:34:07 浏览:757
金佰鑫密码锁的设置键在哪里 发布:2025-01-23 19:34:07 浏览:933
出数据库 发布:2025-01-23 19:33:27 浏览:273
压缩天然气运输车价格 发布:2025-01-23 19:31:46 浏览:938
c语言if函数用法 发布:2025-01-23 19:17:28 浏览:626
java多线程练习题 发布:2025-01-23 19:01:27 浏览:102