侠客岛的含笑
2017-03-21 21:57
<?php
class Image{
/**
*内存中的图片
*/
private $image;
/**
* 图片的基本信息
*/
private $info;
/**
* 打开一张图片,读取到内存中
*/
public function __construct($src){
$info = getimagesize($src);
$this->info = array(
'width' => $info[0],
'height' => $info[1],
'type' => image_type_to_extension($info[2],false),
'mime' => $info['mime']
);
$fun = "imagecreatefrom{$this->info['type']}";
$this->image = $fun($src);
}
/**
* 操作图片(压缩)
*/
public function thumb($width,$height){
$image_thumb = imagecreatetruecolor($width,$height);
imagecopyresampled($image_thumb,$this->image,0,0,0,0,$width,$height,$this->info['width'],$this->info['height']);
imagedestroy($this->image);
$this->image = $image_thumb;
}
/**
* 输出图片
*/
public function show(){
header('Content-type:',$this->info['mime']);
$funs = "image{$this->info['type']}";
$funs($this->image);
}
/**
* 把图片保存在硬盘里
*/
public function save($newname){
$funs = "image{$this->info['type']}";
$funs($this->image,$newname.'.'.$this->info['type']);
}
/**
* 销毁图片
*/
public function __destruct(){
imagedestroy($this->image);
}
}
?>
40行代码有问题 header('Content-type:',$this->info['mime']);
应该是 header('Content-type:'.$this->info['mime']);
如何还是不行就试试这个
<?php
class Image{
/*内存中的图片*/
private $image;
/*图片的基本信息*/
private $info;
/* 打开一张图片,读取到内存中*/
public function __construct($src){
$info = getimagesize($src);
$this->info = array(
'width' => $info[0],
'height' => $info[1],
'type' =>image_type_to_extension($info[2],false),
'mime' => $info['mime']
);
$fun = "imagecreatefrom{$this->info['type']}";
$this->image = $fun($src);
}
/*压缩图片*/
public function thumb($width,$height){
$image_thumb = imagecreatetruecolor($width,$height);
imagecopyresampled($image_thumb,$this->image,0,0,0,0,$width,$height,$this->info['width'],$this->info['height']);
imagedestroy($this->image);
$this->image=$image_thumb;
}
/*添加文字水印*/
public function fontMark($content,$font_url,$size,$color,$local,$angle){
$col = imagecolorallocatealpha($this->image,$color[0],$color[1],$color[2],$color[3]);
imagettftext($this->image,$size,$angle,$local['x'],$local['y'],$col,$font_url,$content);
}
/*添加图片水印*/
public function imageMark($source,$local,$alpha){
$info2 = getimagesize($source);
$type2 = image_type_to_extension($info2[2],false);
$fun2 = "imagecreatefrom{$type2}";
$water = $fun2($source);
imagecopymerge($this->image,$water,$local['x'],$local['y'],0,0,$info2[0],$info2[1],$alpha);
imagedestroy($water);
}
/*输出图片*/
public function show(){
header("content-type:".$this->info['mime']);
$funs = "image{$this->info['type']}";
$funs($this->image);
}
/*保存图片*/
public function save($newname){
$funs = "image{$this->info['type']}";
$funs($this->image,$newname.'.'.$this->info['type']);
}
/*销毁图片*/
public function __destruct(){
imagedestroy($this->image);
}
}
?>GD库实现图片水印与缩略图
19007 学习 · 168 问题
相似问题