vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Watermarking Images (https://vborg.vbsupport.ru/showthread.php?t=193870)

mangus580 10-17-2008 04:44 PM

Watermarking Images
 
Ok, I have been working on a watermarking mod for my site. The way I have the mod setup on my old forum, it puts the username, along with site name in the watermark. This helped my users feel like they still owned their images (trust me even that was a battle!!)

So... I have taken the code I used on the old setup, and been working it together as a plugin.

I have a hook set for 'attachment_complete', and this is the code I am using.

PHP Code:

if(! empty($attachpath)) {
        
$attachpath2 '/home/steelsol/test.steelsoldiers.com/forum_attachments/' $GLOBALS['vbulletin']->userinfo['userid'] . '/';
        
$stamp_file =  $attachpath2 '' $GLOBALS['vbulletin']->userinfo['userid'] . 'w-mark.png';
        if (!
file_exists($stamp_file)){
          
$stamp_fgnd $attachpath2 '' $GLOBALS['vbulletin']->userinfo['userid'] . '_fgnd.png';
          
$stamp_mask $attachpath2 '' $GLOBALS['vbulletin']->userinfo['userid'] . '_mask.png';      
          
$stamp_text $GLOBALS['vbulletin']->userinfo['username'] . ' - www.steelsoldiers.com';
          
$stamp_fgnd_exec "/usr/bin/convert -size 480x50 xc:grey30 -font Helvetica-Bold -pointsize 18 -gravity SouthEast -draw \"fill grey70 text 0,0 '" $stamp_text "'\" " $stamp_fgnd;
          
$stamp_mask_exec "/usr/bin/convert -size 480x50 xc:black -font Helvetica-Bold -pointsize 18 -gravity SouthEast -draw \"fill white text 1,1 '" $stamp_text "' text 0,0 '" $stamp_text "' fill black text -1,-1 '" $stamp_text "' \" +matte " $stamp_mask;
          
$stamp_exec "/usr/bin/composite -compose CopyOpacity " $stamp_mask " " $stamp_fgnd " " $stamp_file;
          
exec($stamp_fgnd_exec);
          
exec($stamp_mask_exec);
          
exec($stamp_exec);
          
unlink($stamp_mask);
          
unlink($stamp_fgnd);
        }
    
$src_file =  '/home/steelsol/test.steelsoldiers.com/forum_attachments/' $GLOBALS['vbulletin']->userinfo['userid'] . '/' $attachmentinfo['attachmentid'] . '.attach';
    
$dest_file '/home/steelsol/test.steelsoldiers.com/forum_attachments/' $GLOBALS['vbulletin']->userinfo['userid'] . '/' $attachmentinfo['attachmentid'] . '.attach';
        
    
$watermark_exec "/usr/bin/composite -gravity southeast -geometry +10+10 " $stamp_file " " $src_file " " $dest_file;
    
exec($watermark_exec);             



Now, this works good, and saves the 'watermark' file for each user.

Here is my problem... it seems that VB relies on the filesize and maybe the hash entry in the DB. When I have this feature turned on, the image gets watermarked fine on the file system. The problem is, when you let VB try to display the image, it never works right. The image is cut short, by approximately the additional bytes of the watermarking.

I tried for a test, manually update the size in the database for one file to the appropriate byte count, but it didnt seem to help. This makes me think that maybe the filehash is involved as well?

Can anyone help me out here?

mangus580 10-20-2008 10:26 AM

We got nothin huh?

SEOvB 10-20-2008 11:50 PM

Nope, I had the same issue with my water marking modification tht worked on 3.5.x but 3.6 and beyond it does exactly what yours does and cuts the bottom of the image off.

mangus580 10-29-2008 01:07 PM

Nobody else?

airliner 07-16-2009 09:18 AM

Hmm .. that was what I was looking for for like a month ...
I have Photopost integrated in Vbulletin 3.7.
Where shall I put that piece of code. Not so experienced yet. thank you in advance.

best regards

mangus580 07-16-2009 12:35 PM

airliner, I never made any progress with actually getting it to work.


All times are GMT. The time now is 02:35 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02008 seconds
  • Memory Usage 1,739KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete