<span>
class
</span><span> Image_class {
</span><span>
private
</span> <span>
$image
</span><span>;
</span><span>
private
</span> <span>
$info
</span><span>;
</span><span>
</span>
<span>
function
</span> __construct(<span>
$src
</span><span>){
</span><span>
$info
</span> = <span>
getimagesize
</span>(<span>
$src
</span><span>);
</span><span>
$type
</span> = image_type_to_extension(<span>
$info
</span>[2],<span>false</span><span>);
</span><span>
$this
</span> -> info =<span>
$info
</span><span>;
</span><span>
$this
</span>->info[
'type'
] = <span>
$type
</span><span>;
</span><span>
$fun
</span> =
"imagecreatefrom"
.<span>
$type
</span><span>;
</span><span>
$this
</span> -> image = <span>
$fun
</span>(<span>
$src
</span><span>);
}
</span><span>
</span>
<span>
public
</span> <span>
function
</span> fontMark(<span>
$fontsize
</span>,<span>
$x
</span>,<span>
$y
</span>,<span>
$color
</span>,<span>
$text
</span><span>){
</span><span>
$col
</span> = imagecolorallocatealpha(<span>
$this
</span>->image,<span>
$color
</span>[0],<span>
$color
</span>[1],<span>
$color
</span>[2],<span>
$color
</span>[3<span>]);
imagestring(</span><span>
$this
</span>->image,<span>
$fontsize
</span>,<span>
$x
</span>,<span>
$y
</span>,<span>
$text
</span>,<span>
$col
</span><span>);
}
</span><span>
</span>
<span>
public
</span> <span>
function
</span><span> show(){
</span><span>header</span>(
'content-type:'
. <span>
$this
</span> -> info[
'mime'
<span>]);
</span><span>
$fun
</span>=
'image'
. <span>
$this
</span>->info[
'type'
<span>];
</span><span>
$fun
</span>(<span>
$this
</span>-><span>image);
}
</span><span>
</span>
<span>
function
</span><span> __destruct(){
imagedestroy(</span><span>
$this
</span>-><span>image);
}
}
</span><span>
<span>
$obj
</span> = <span>
new
</span> Image_class(
'001.png'
<span>);
</span><span>
$obj
</span>->fontMark(20,20,30,<span>
array
</span>(255,255,255,60),
'hello'
<span>);
</span><span>
$obj
</span>->show();