1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<?php function createthumb($name,$filename,$new_w,$new_h) { $system=explode('.',$name); if (preg_match('/jpg|jpeg|JPG|JPEG/',$system[3])){ $src_img=imagecreatefromjpeg($name); } if (preg_match('/gif|GIF/',$system[3])){ $src_img=imagecreatefromgif($name); } if (preg_match('/png|PNG/',$system[3])){ $src_img=imagecreatefrompng($name); }
$old_x=imageSX($src_img); $old_y=imageSY($src_img); if ($old_x > $old_y) { $thumb_w=$new_w; $thumb_h=$old_y*($new_h/$old_x); } if ($old_x < $old_y) { $thumb_w=$old_x*($new_w/$old_y); $thumb_h=$new_h; } if ($old_x == $old_y) { $thumb_w=$new_w; $thumb_h=$new_h; }
$dst_img = imagecreatetruecolor($thumb_w,$thumb_h); imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); $red = imagecolorallocate($dst_img, 255, 0, 0); $green = imagecolorallocate($dst_img, 0, 255, 0); $blue = imagecolorallocate($dst_img, 0, 0, 255); $black = imagecolorallocate($dst_img, 0, 0, 0); // Make the background transparent imagecolortransparent($dst_img, $black);
// Draw a red rectangle imagefilledrectangle($dst_img, 4, 4, 50, 25, $red, $green, $blue);
if (preg_match("/png|PNG/",$system[3])){ imagepng($dst_img, './imagecolortransparent.png', 100); } else if (preg_match("/gif|GIF/",$system[3])) { imagegif($dst_img, './imagecolortransparent.gif', 100); } else { imagejpeg($dst_img,$filename, 100); } imagedestroy($dst_img); imagedestroy($src_img); } ?>
|