summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorSavetheinternet <savetheinternet@n0v4.com>2011-04-13 04:08:59 +1000
committerSavetheinternet <savetheinternet@n0v4.com>2011-04-13 04:08:59 +1000
commit971e72000a06e5457d867861836127a4718133b0 (patch)
treee69eb633ab09d74fa593809937d19f6b7ffb9a23 /inc
parent4c6c5b906eb04a748e3c9d4186065f9cd2307448 (diff)
Custom thubmanil image type (extension)
Diffstat (limited to 'inc')
-rw-r--r--inc/config.php12
-rw-r--r--inc/functions.php35
2 files changed, 37 insertions, 10 deletions
diff --git a/inc/config.php b/inc/config.php
index 6b7a7e8c..9493419f 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -153,6 +153,12 @@
$config['thumb_width'] = 255;
$config['thumb_height'] = 255;
+ // Thumbnail extension, empty for inherited (png recommended)
+ $config['thumb_ext'] = '';
+
+ // Thumbnail quality (compression level), from 0 to 9
+ $config['thumb_quality'] = 7;
+
// When a thumbnailed image is going to be the same (in dimension), just copy the entire file and use that as a thumbnail instead of resizing/redrawing
$config['minimum_copy_resize'] = true;
@@ -205,8 +211,8 @@
// These can be URLs OR base64 (data URI scheme)
//$config['image_sticky'] = $config['dir']['static'] . 'sticky.gif';
//$config['image_locked'] = $config['dir']['static'] . 'locked.gif';
- //$config['image_deleted'] = $config['dir']['static'] . 'deleted.png';
- //$config['image_zip'] = $config['dir']['static'] . 'zip.png';
+ //$config['image_deleted'] = $config['dir']['static'] . 'deleted.';
+ //$config['image_zip'] = $config['dir']['static'] . 'zip.';
// If you want to put images and other dynamic-static stuff on another (preferably cookieless) domain, you can use this:
@@ -511,7 +517,7 @@
$config['ie_mime_type_detection'] = '/<(?:body|head|html|img|plaintext|pre|script|table|title|a href|channel|scriptlet)/';
// Allowed file extensions
- $config['allowed_ext'] = Array('jpg', 'jpeg', 'bmp', 'gif', 'png');
+ $config['allowed_ext'] = Array('jpg', 'jpeg', 'bmp', 'gif', '');
// The names on the post buttons. (On most imageboards, these are both "Post".)
$config['button_newtopic'] = 'New Topic';
diff --git a/inc/functions.php b/inc/functions.php
index 07777b5d..b99788c5 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -1361,7 +1361,7 @@
return $image;
}
- function resize($src, $width, $height, $destination_pic, $max_width, $max_height) {
+ function resize($src, $width, $height, $destination_pic, $max_width, $max_height, $ext) {
$return = Array();
$x_ratio = $max_width / $width;
@@ -1382,13 +1382,34 @@
$return['height'] = $tn_height;
$tmp = imagecreatetruecolor($tn_width, $tn_height);
- imagecolortransparent($tmp, imagecolorallocatealpha($tmp, 0, 0, 0, 0));
- imagealphablending($tmp, false);
- imagesavealpha($tmp, true);
-
+
+ if($ext == 'png' || $ext == 'gif') {
+ imagecolortransparent($tmp, imagecolorallocatealpha($tmp, 0, 0, 0, 0));
+ imagesavealpha($tmp, true);
+ }
+ if($ext == 'png')
+ imagealphablending($tmp, false);
+
imagecopyresampled($tmp, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
-
- imagepng($tmp, $destination_pic, 4);
+
+ switch($ext) {
+ case 'jpg':
+ case 'jpeg':
+ imagejpeg($tmp, $destination_pic);
+ break;
+ case 'png':
+ imagepng($tmp, $destination_pic, $config['thumb_quality']);
+ break;
+ case 'gif':
+ imagegif($tmp, $destination_pic);
+ break;
+ case 'bmp':
+ imagebmp($tmp, $destination_pic);
+ break;
+ default:
+ error('Unknwon file extension.');
+ }
+
imagedestroy($src);
imagedestroy($tmp);