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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
<?php header('X-UA-Compatible: IE=edge,chrome=1'); function createthumb($name,$filename,$new_w,$new_h) { $width = getWidth($filename); $height = getHeight($filename);
if ($width > $new_w){ $scale = $new_w/$width; }elseif ($height > $new_h){ $scale = $new_h/$height; }else{ $scale = 1; } $name = resizeImage($filename,$width,$height,$scale);
}
function getHeight($image) { $size = getimagesize($image); $height = $size[1]; return $height; } function getWidth($image) { $size = getimagesize($image); $width = $size[0]; return $width; }
function resizeImage($image,$width,$height,$scale) { list($imagewidth, $imageheight, $imageType) = getimagesize($image); $imageType = image_type_to_mime_type($imageType); $newImageWidth = ceil($width * $scale); $newImageHeight = ceil($height * $scale); $newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
// Make the background transparent if ($imageType == 'image/gif') { $transparent = imagecolorallocate($newImage, 0, 0, 0); imagecolortransparent($newImage, $transparent); } else { imagealphablending($newImage, false); imagesavealpha($newImage, true); $trans_colour = imagecolorallocatealpha($newImage, 0, 0, 0, 127); imagefill($newImage, 0, 0, $trans_colour); }
switch($imageType) { case "image/gif": $source=imagecreatefromgif($image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": $source=imagecreatefromjpeg($image); break; case "image/png": case "image/x-png": $source=imagecreatefrompng($image); break; } imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height); switch($imageType) { case "image/gif": imagegif($newImage,$image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": imagejpeg($newImage,$image,100); break; case "image/png": case "image/x-png": imagepng($newImage,$image); break; } //chmod($image, 0775); return $image; } ?>
|