diff options
author | Cash Costello <cash.costello@gmail.com> | 2009-07-17 00:37:28 +0000 |
---|---|---|
committer | Cash Costello <cash.costello@gmail.com> | 2009-07-17 00:37:28 +0000 |
commit | 19714b046eb9c385a671d1c8f1e8890d694400b7 (patch) | |
tree | 7fd646f8d6e0815bb94e1e596a83223a09760c93 | |
parent | 6896c4082a9ab3636380e8b1407635274dabab8e (diff) | |
download | elgg-19714b046eb9c385a671d1c8f1e8890d694400b7.tar.gz elgg-19714b046eb9c385a671d1c8f1e8890d694400b7.tar.bz2 |
continue to build watermarking code
-rw-r--r-- | lib/resize.php | 10 | ||||
-rw-r--r-- | lib/watermark.php | 26 |
2 files changed, 33 insertions, 3 deletions
diff --git a/lib/resize.php b/lib/resize.php index 894a68fff..803cb8fa7 100644 --- a/lib/resize.php +++ b/lib/resize.php @@ -34,6 +34,7 @@ $thumbname = $thumb->getFilenameOnFilestore();
$rtn_code = tp_gd_resize( $file->getFilenameOnFilestore(),
$thumbname,
+ false,
$image_sizes['thumb_image_width'],
$image_sizes['thumb_image_height'],
true);
@@ -47,6 +48,7 @@ $thumbname = $thumb->getFilenameOnFilestore();
$rtn_code = tp_gd_resize( $file->getFilenameOnFilestore(),
$thumbname,
+ false,
$image_sizes['small_image_width'],
$image_sizes['small_image_height'],
true);
@@ -60,6 +62,7 @@ $thumbname = $thumb->getFilenameOnFilestore();
$rtn_code = tp_gd_resize( $file->getFilenameOnFilestore(),
$thumbname,
+ true,
$image_sizes['large_image_width'],
$image_sizes['large_image_height'],
false);
@@ -67,7 +70,6 @@ return false;
$file->largethumb = $prefix."largethumb".$filestorename;
- tp_gd_watermark($thumbname);
unset($thumb);
@@ -80,12 +82,13 @@ *
* @param string $input_name The name of the file on the disk
* @param string $output_name The name of the file to be written
+ * @param bool - watermark this image?
* @param int $maxwidth The maximum width of the resized image
* @param int $maxheight The maximum height of the resized image
* @param true|false $square If set to true, will take the smallest of maxwidth and maxheight and use it to set the dimensions on all size; the image will be cropped.
* @return bool true on success or false on failure
*/
- function tp_gd_resize($input_name, $output_name, $maxwidth, $maxheight, $square = false, $x1 = 0, $y1 = 0, $x2 = 0, $y2 = 0) {
+ function tp_gd_resize($input_name, $output_name, $watermark, $maxwidth, $maxheight, $square = false, $x1 = 0, $y1 = 0, $x2 = 0, $y2 = 0) {
// Get the size information from the image
$imgsizearray = getimagesize($input_name);
@@ -176,6 +179,9 @@ if (!rtn_code)
return $rtn_code;
+ if ($watermark)
+ tp_gd_watermark($newimage);
+
switch ($imgsizearray['mime']) {
case 'image/jpeg':
case 'image/pjpeg':
diff --git a/lib/watermark.php b/lib/watermark.php index b80e1b9e9..2263bdd8f 100644 --- a/lib/watermark.php +++ b/lib/watermark.php @@ -22,7 +22,31 @@ function tp_get_watermark_filename($text, $owner) { return $filename; } -function tp_gd_watermark($filename) { +function tp_gd_watermark($image) { + $watermark_text = get_plugin_setting('watermark_text', 'tidypics'); + if (!$watermark_text) + return; + + + $owner = get_loggedin_user(); + + $watermark_text = tp_process_watermark_text($watermark_text, $owner); + + + + $font = 5; + $line_width = strlen($watermark_text) * imagefontwidth($font); + $line_height = imagefontheight($font); + + $image_width = 600; + $image_height = 450; + + // matching -gravity south -geometry +0+10 + $top = $image_height - $line_height - 10; + $left = round(($image_width - $line_width) / 2); + + $textcolor = imagecolorallocate($image, 0, 0, 255); + imagestring($image, $font, $left, $top, $watermark_text, $textcolor); } function tp_imagick_watermark($filename) { |