-
ob_clean();
header('content-type:image/jpeg');
//应该很多人遇到“明明一样的代码,却显示不出来”的问题
//在header前面加一行“ob_clean();”就可以了
查看全部 -
把range与rand弄混了
查看全部 -
imagepng, 后妈带上文件名,则将文件保存到本地
查看全部 -
与验证码封装 一样,即在图片里写文字
imagettftext()使用该函数
查看全部 -
/*
*返回图片信息
*@param [string] $filename [文件名]
*@return [array] 包含图片宽度、高度、创建和输出的字符串及扩展名
*/
function _getImageinfo($filename){
if(@!$info=getimagesize($filename)){
exit("文件不是图像');
}
$fileInfo['width']=$inf[0];//得到宽高
$fileInfo['height']=$info[1];
$mime=image_type_to_mime_type($info[2]);//获取文件类型
$createFun=str_replace('/','createfrom',$mime);//替换'/'为获取的文件类型
$outFun=str_replace('/','',$mime);//输出目标图片文件'/'替换为mime
$fileIfo['createFun']=$createfun;
$fileIfo['outFun']=$outFun;
$fileIfo['ext']=strtolower(image_type_to_extension($info[2]));//获取文件后缀
return $fileIfo;
}
//生成缩略图函数
function thumb($filename,$dst_w=null,$dst_h=null,$dest,$pre,$scale=0.5,$delSource){
$filename='1.jpeg';
/*$scale=0.5;
$dst_w=200;
$dst_h=200;
$dest='目录';
$pre='文件名前缀';
$delSource=false;//是否删除源文件
*/ //于封装函数处设置默认值
$randNum=mt_rand(100000,999999);生成随机6位数数字为文件名
$fileInfo=_getImageinfo($filename);
$src_w=$fileInfo['width'];
$src_h=$fileInfo['height'];
//如果设置最大宽和高按等比例执行
if(is_numeric($dst_w)&&is_numeric($dst_w)){
//前篇处理方式
}else{
//没有指定则按照默认缩放比例执行
$dst_w=ceil($src_w*$scale);
$dst_h=ceil($src_h*$scale);
}
$dst_image_50=imagecreatetruecolor($dst_w,$dst_h);
#src_image=$fileIfo['createFun']($filename);
imagecopyresampled($dst_image,$src_image,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
//检测目标目录是否存在,不存在则创建
if($dest&&!file_exists($dest)){
mkdir($dest,0777,ture)
}
$destName="{$pre}{$randNum}".$fileInfo['ext'];//生成的文件名
$destination=$dest?$dest.'/'.$destName:$destName;//生成文件若指定路径则加上路径,否则直接使用文件名
$fileIfo['outFun']($dst)image,$destination);//保存文件
imagedestroy($dst_image);//销毁目标资源
imagedestroy($src_image);//销毁源图资源
if($delSource){
@unlink($filename);
}
return $destination;
}
查看全部 -
$filename='ipad.png';//得到原图片资源注意填写正确目录
$fileInfo=getimagesize($filename);//得到图片信息赋值于$fileInfo
if($fileInfo){//验证图片是否真实
list($src_w,$src_h)=$fileInfo;//得到原图像宽高
}else{
dei('文件不是真实图片')
}
$src_image=imagecreatefrompng($filename);得到原图 PS:png可更换其他类型图片,如jpeg、gif等
$dst_image_50=imagecreatetruecolor(50,50);//目标图片50*50
$dst_image_270=imagecreatetruecolor(270,270);
imagecopyresampled($dst_image_50,$src_image,0,0,0,0,50,50,$src_w,$src_h);
imagepng($dst_image_50,'xx/xxx')//保存图片,PS:xx/xxx为保存的文件名称以及前缀目录
imagedestroy($dst_image_50);//销毁目标资源
imagedestroy($src_image);//销毁源图资源
$width = 200;// 设置最大宽高
$height = 200;
//等比例缩放图片
$ratio_orig=$src_w/$src_h;
if ($dst_w/$dst_h > $ratio_orig) {//
$$dst_w = $dst_h*$ratio_orig;
} else {
$dst_h = $dst_w/$ratio_orig;
}
//执行上诉流程获取画布资源接着创建即可查看全部 -
1查看全部
-
Gd库字体,在windows里面打开方式为:开始—运行—fonts.
查看全部 -
多图片批量处理,比GD扩展性能高得多的扩展为ImageMagick和Gmagick
查看全部 -
PHP图片类库 PHPThumb、Zebra
查看全部 -
//封装一个函数,用于返回图像信息 function getImageInfo($filename){ //检测$filename是否是一个图片 if (!$info = getimagesize($filename)){ exit('文件不是真实图片!');//或者直接返回false } //将得到的图片各种信息保存在数组里面 //得到图片的宽高和类型 $fileInfo['width'] = $info[0]; $fileInfo['height'] = $info[1]; $mime = $info['mime']; //自带函数得到类型 // $mime = image_type_to_mime_type($info[2]); //使用$mime替换成可用函数 $create = str_replace('/','createfrom',$mime);//创建画布资源 $outimage = str_replace('/',null,$mime);//保存图像类型 $latename = strtolower(image_type_to_extension($info[2]));//得到图片后缀名 $fileInfo['resource'] = $create; $fileInfo['output'] = $outimage; $fileInfo['ext'] = $latename; //返回数组 return $fileInfo; } //封装成生成缩略图的函数 function thumb($filename,$dest = '../thumb/',$pre = 'thumb',$destdel = false, $dst_w = 200,$dst_h=139){ //图片路径 // $filename = '../Public/Image/12.jpg'; //调用函数,得到图片信息 $imaheInfon = getImageInfo($filename); //图片缩放分两种情况 //$scale = 0.5;//设置比例缩放为一半,没有设置最大宽高 //设置了最大宽高,按等比例算法来做 //$dst_w = 200; //$dst_h = 150; //得到原图像的宽高 $src_w = $imaheInfon['width']; $src_h = $imaheInfon['height']; /**使用if判断$dst_w 、$dst_h是否设置了宽高,is_numeric() 函数用于判断 * 检测变量是否为数字或数字字符串,为真返回 TRUE,否则返回 FALSE * */ if(is_numeric($dst_w)&&is_numeric($dst_h)){ //设置了最大宽高,按等比例算法来做 $ratio_orig = $src_w/$src_h; if ($dst_w/$dst_h > $ratio_orig){ $dst_w =$dst_h*$ratio_orig; }else{ $dst_h = $dst_w/$ratio_orig; } }else{ //设置比例缩放为一半,没有设置最大宽高 $dst_w =ceil( $src_w*$scale);//ceil()取整 $dst_h =ceil( $src_h*$scale); } //创建画布资源 $dst_image = imagecreatetruecolor($dst_w,$dst_h); //$src_image = imagecreatetruecolor($src_w,$src_h); $src_image = $imaheInfon['resource']($filename); //生成缩略图 imagecopyresampled($dst_image,$src_image,0,0,0,0, $dst_w,$dst_h,$src_w,$src_h); //指定保存路径 // $dest = '../thumb/'; //判断目录是否存在,不存在则创建,file_exists() 函数检查文件或目录是否存在 if ($dest && !file_exists($dest)){ //mkdir() 函数创建目录 mkdir($dest,0777,true); } //防止重名产生覆盖,可定义一个前缀,再拼上一个随机数 // $pre = 'thumb'; $randNum = mt_rand(1000,9999); $destname ="{$pre}_{$randNum}".$imaheInfon['ext'];//文件名 $destination = $dest ? $dest.'/'.$destname:$destname;//判断文件路径 $imaheInfon['output']($dst_image,$destination);//保存文件到路径 return $destination;//返回文件路径 //是否删除源文件 // $destdel = false;//设置默认为false if ($destdel){ unlink($filename);//删除文件 } //销毁资源 imagedestroy($dst_image); imagedestroy($src_image); } $filename = '../Public/Image/11.jpg'; thumb($filename);
查看全部 -
header('content-type:text/html;charset=utf-8'); //定义要操作图片的文件 $filename = '../Public/Image/11.jpg'; //得到图片的信息 $fileinfo = getimagesize($filename);//返回值是数组 //print_r($fileinfo); //exit(); //检测是否为真 if ($fileinfo){ //得到原始图像的宽高 $src_w=$fileinfo[0]; $src_h=$fileinfo[1]; $mime = $fileinfo['mime'];//得到图片类型 }else{ die('文件不是真实图片'); } //根据图片类型得到创建画布资源的函数 $filetype = str_replace('/','createfrom',$mime); //根据图片类型得到保存输出图像的函数 $outspace = str_replace('/',null,$mime); //根据图片类型得到保存图像的后缀名 $latename = str_replace('image/',null,$mime); //echo $latename; //exit(); //动态创建原画布资源 $src_image = $filetype($filename); //设置最大的宽高1000,695 $dst_w = 450; $dst_h = 300; $ratio_orig = $src_w/$src_h; if ($dst_w/$dst_h > $ratio_orig) { $dst_w = $dst_h*$ratio_orig; } else { $dst_h = $dst_w/$ratio_orig; } $dst_image = imagecreatetruecolor($dst_w,$dst_h); //缩略图 imagecopyresampled($dst_image,$src_image, 0,0,0,0, $dst_w,$dst_h,$src_w,$src_h); $outspace($dst_image,'../Public/Image/bl.'.$latename); imagedestroy($dst_image); imagedestroy($src_image);
查看全部 -
header('content-type:text/html;charset=utf-8'); //定义要操作图片的文件 $filename = '../Public/Image/11.jpg'; //得到图片的信息 $fileinfo = getimagesize($filename);//返回值是数组 //检测是否为真 if ($fileinfo){ //得到原始图像的宽高 $src_w=$fileinfo[0]; $src_h=$fileinfo[1]; }else{ die('文件不是真实图片'); } //设置最大的宽高1000,695 $dst_w = 450; $dst_h = 300; $ratio_orig = $src_w/$src_h; if ($dst_w/$dst_h > $ratio_orig) { $dst_w = $dst_h*$ratio_orig; } else { $dst_h = $dst_w/$ratio_orig; } //创建原画布资源 $src_image = imagecreatefromjpeg($filename); $dst_image = imagecreatetruecolor($dst_w,$dst_h); //缩略图 imagecopyresampled($dst_image,$src_image, 0,0,0,0, $dst_w,$dst_h,$src_w,$src_h); imagejpeg($dst_image,'../Public/Image/bl.jpg'); imagedestroy($dst_image); imagedestroy($src_image);
查看全部 -
上一节
<?php
/**
* 为图片生成缩略图
*/
//定义要操作图片的文件
$filename = '../Public/Image/18.jpg';
//得到图片的信息
$fileinfo = getimagesize($filename);//返回值是数组
//得到原始图像的宽高
$src_w=$fileinfo[0];
$src_h=$fileinfo[1];
//通过图片文件,创建画布资源
$src_image = imagecreatefromjpeg($filename);
//var_dump($src_image);
//exit();
//创建100*100的缩略图——目标的宽高
$dst_w = 100;
$dst_h = 100;
//通过目标的宽高,可以创建目标画布资源
$dst_image = imagecreatetruecolor($dst_w,$dst_h);
imagecopyresampled($dst_image , $src_image ,
0 , 0 , 0, 0 ,
$dst_w , $dst_h , $src_w , $src_h );
imagejpeg($dst_image,'../Public/Image/thumb_100.jpg');
imagedestroy($dst_image);
imagedestroy($src_image);
//var_dump($width,$height) ;
//exit();
查看全部 -
image_type_to_extension()
image_type_to_mime_type()
查看全部 -
图片信息的
查看全部 -
验证码的刷新功能
查看全部 -
GD库操作步骤
查看全部 -
查看某个扩展库是否被开启
查看全部 -
图像操作函数:imagecreatefromjpeg()
查看全部 -
图像操作:函数getimagesize()
查看全部 -
图像操作的函数imagecopyrsampled
查看全部 -
PHP
图像操作
查看全部 -
php image
查看全部 -
php gd image
查看全部
举报