Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 10-17-2008, 05:44 PM
mangus580 mangus580 is offline
 
Join Date: Aug 2008
Posts: 36
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:16 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03221 seconds
  • Memory Usage 2,231KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_threadedmode.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete