这款php生成图片与验证码图片生成原理代码,是由php gd库来支持,如果你的系统不能创建图片就把gd.dll前面的;去再,重起apache,如果是iis重起iis就OK了.创建图片后记得用ImageDestroy 清空内存.
php生成图片与验证码图片实例代码如下:
-
$w?$RESIZEWIDTH=$w:$RESIZEWIDTH=400;
-
$h?$RESIZEHEIGHT=$h:$RESIZEHEIGHT=400;
-
function ResizeImage($im,$maxwidth,$maxheight,$name){
-
$width = imagesx($im);
-
$height = imagesy($im);
-
if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
-
if($maxwidth && $width > $maxwidth){
-
$widthratio = $maxwidth/$width;
-
$RESIZEWIDTH=true;
-
}
-
if($maxheight && $height > $maxheight){
-
$heightratio = $maxheight/$height;
-
$RESIZEHEIGHT=true;
-
}
-
if($RESIZEWIDTH && $RESIZEHEIGHT){
-
if($widthratio < $heightratio){
-
$ratio = $widthratio;
-
}else{
-
$ratio = $heightratio;
-
}
-
}elseif($RESIZEWIDTH){
-
$ratio = $widthratio;
-
}elseif($RESIZEHEIGHT){
-
$ratio = $heightratio;
-
}
-
$newwidth = $width * $ratio;
-
$newheight = $height * $ratio;
-
if(function_exists("imagecopyresampled")){
-
$newim = imagecreatetruecolor($newwidth, $newheight);
-
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
-
}else{
-
$newim = imagecreate($newwidth, $newheight);
-
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
-
}
-
ImageJpeg ($newim,$name);
-
ImageDestroy ($newim);
-
}else{
-
ImageJpeg ($im,$name);
-
}
-
}
-
-
if($_FILES['uploadfile']['size']){
-
if($_FILES['uploadfile']['type'] == "image/pjpeg"){
-
$im = imagecreatefromjpeg($_FILES['uploadfile']['tmp_name']);
-
}elseif($_FILES['uploadfile']['type'] == "image/x-png"){
-
$im = imagecreatefrompng($_FILES['uploadfile']['tmp_name']);
-
}elseif($_FILES['uploadfile']['type'] == "image/gif"){
-
$im = imagecreatefromgif($_FILES['uploadfile']['tmp_name']);
-
}
-
if($im){
-
if(file_exists('bbs.jpg')){
-
unlink('www.vcphp.com.jpg');
-
}
-
ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,'bbs.jpg');
-
ImageDestroy ($im);
-
-
}
-
}
-
-
-
(责任编辑:最模板) |