php生成图片与验证码图片生成原理
这款php生成图片与验证码图片生成原理代码,是由php gd库来支持,如果你的系统不能创建图片就把gd.dll前面的;去再,重起apache,如果是iis重起iis就OK了.创建图片后记得用ImageDestroy 清空内存.
php生成图片与验证码图片实例代码如下:
$w?$RESIZEWIDTH=$w:$RESIZEWIDTH=400;// 生成图片的宽度
$h?$RESIZEHEIGHT=$h:$RESIZEHEIGHT=400;// 生成图片的高度
<?php
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; //www.phprm.com
}
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.phprm.com.jpg');
}
ResizeImage($im, $RESIZEWIDTH, $RESIZEHEIGHT, 'bbs.jpg');
ImageDestroy($im);
}
}
//$uploadfile="bbs.jpg";文章链接:http://www.phprm.com/tuxiang/fs4491.html
随便收藏,请保留本文地址!