php图片怎么上传数据 php上传图片到指定文件夹( 三 )


* $path将来生成水印图片的存放路径
*/
function create_water_pic($water_word) {
$type = $this-get_file_type();
$filename = $this-file_save_path.$this-file_name;
switch($type) {
case 'jpg':
header("content-type:image/jpeg");//定义输出图像的类型
$im = imagecreatefromjpeg($filename);//载入图片
break;
case 'png':
header("content-type:image/png");
$im = imagecreatefrompng($filename);
break;
case 'gif':
header("content-type:image/gif");
$im = imagecreatefromgif($filename);
break;
【php图片怎么上传数据 php上传图片到指定文件夹】case 'bmp':
header("content-type:image/xbm");//上传bmp格式存在问题
$im = imagecreatefromxbm($filename);//无法打水印
break;
default: {
echo "文件格式不符";
}
}
$textcolor = imagecolorallocate($im, 56, 73,136);//设定字体的颜色
$font = "simhei.ttf";//定义字体
$word = $water_word;//水印字符
$x = imagesx($im);//获取图片的宽度
$y = imagesy($im);//获取文件的高度
$position_x = $x-80;
$position_y = $y-10;
$str = iconv('gbk', 'utf-8', $word);//将中文文字显示出来的编码过程
imagettftext($im, 20, 0, $position_x, $position_y, $textcolor, $font, $str);
//imagejpeg($im);//显示图片
$new = $this-file_save_path.'water'.$this-file_name;//生成新的文件名
switch($type) {
case 'jpg':
imagejpeg($im, $new);//生成jpg图像
break;
case 'png':
imagepng($im, $new);//生成png图像
break;
case 'gif':
imagegif($im, $new);//生成gif图像
break;
case 'bmp':
imagexbm($im, $new);//生成bmp图像该格式的文件处理有问题
break;
default: {
echo "文件格式不符";
}
}
imagedestroy($im);//结束图形,释放内存空间*/
}
//生成缩略图
/**
* $pic 图片名 包括其扩展名,但不包括路径
* $width将来生成缩略图的宽度
* $height 将来生成缩略图的高度
* $path 生成缩略图的存放路径
*/
function create_thumbnail($width, $height) {
$type = $this-get_file_type();
$filename = $this-file_save_path.$this-file_name;
$img = getimagesize($filename);
//print_r($img);
//die();
switch($img[2]) {
case 1:
header("content-type:image/gif");//定义输出图像的类型
$im = imagecreatefromgif($filename);//载入图片
break;
case 2:
header("content-type:image/jpeg");
$im = imagecreatefromjpeg($filename);
break;
case 3:
header("content-type:image/png");
$im = imagecreatefrompng($filename);
break;
case 6:
header("content-type:image/xbm");//bmp格式存在问题
$im = imagecreatefromxbm($filename);//无法打水印
break;
default: {
echo "文件格式不符";
}
}
$thumb = imagecreatetruecolor($width, $height);//创建一个新的空白的面板
$color = imagecolorallocate($im, 200, 255, 100);//调色板
/*bool imagecopyresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
imagecopyresized() 将一幅图像中的一块正方形区域拷贝到另一个图像中 。dst_image 和 src_image 分别是目标图像和源图像的标识符 。
*/
imagecopyresized($thumb, $im, 0, 0, 0, 0, $width, $height, $img[0], $img[1]);
//imagejpeg($thumb);
$thumb_path = $this-file_save_path."thumbnail/".$this-file_name;
switch($img[2]) {
case 1:
imagejpeg($thumb, $thumb_path);
break;
case 2:
imagegif($thumb, $thumb_path);
break;
case 3:
imagepng($thumb, $thumb_path);
break;

推荐阅读