php给图片加水印函数
<?php function Watermark_IM($preview = 0) { global $watermarkstatus, $watermarktype, $watermarktrans, $watermarkquality, $watermarktext, $imageimpath; $watermarkstatus = $GLOBALS['forum']['disablewatermark'] ? 0 : $watermarkstatus; switch ($watermarkstatus) { case 1: $gravity = 'NorthWest'; break; case 2: $gravity = 'North'; break; case 3: $gravity = 'NorthEast'; break; case 4: $gravity = 'West'; break; case 5: $gravity = 'Center'; break; case 6: $gravity = 'East'; break; case 7: $gravity = 'SouthWest'; break; case 8: $gravity = 'South'; break; case 9: $gravity = 'SouthEast'; break; } $targetfile = !$preview ? $this->targetfile : DISCUZ_ROOT . './forumdata/watermark_temp.jpg'; if ($watermarktype < 2) { $watermark_file = $watermarktype == 1 ? DISCUZ_ROOT . './images/common/watermark.png' : DISCUZ_ROOT . './images/common/watermark.gif'; $exec_str = $imageimpath . '/composite' . ($watermarktype != 1 && $watermarktrans != '100' ? ' -watermark ' . $watermarktrans . '%' : '') . ' -quality ' . $watermarkquality . ' -gravity ' . $gravity . ' ' . $watermark_file . ' ' . $this->targetfile . ' ' . $targetfile; } else { $watermarktextcvt = str_replace(array( "n", "r", "'" ) , array( '', '', '\'' ) , pack("H*", $watermarktext['text'])); $watermarktext['angle'] = - $watermarktext['angle']; $translate = $watermarktext['translatex'] || $watermarktext['translatey'] ? ' translate ' . $watermarktext['translatex'] . ',' . $watermarktext['translatey'] : ''; $skewX = $watermarktext['skewx'] ? ' skewX ' . $watermarktext['skewx'] : ''; $skewY = $watermarktext['skewy'] ? ' skewY ' . $watermarktext['skewy'] : ''; $exec_str = $imageimpath . '/convert' . ' -quality ' . $watermarkquality . ' -font "' . $watermarktext['fontpath'] . '"' . ' -pointsize ' . $watermarktext['size'] . (($watermarktext['shadowx'] || $watermarktext['shadowy']) && $watermarktext['shadowcolor'] ? ' -fill "rgb(' . $watermarktext['shadowcolor'] . ')"' . ' -draw "' . ' gravity ' . $gravity . $translate . $skewX . $skewY . ' rotate ' . $watermarktext['angle'] . ' text ' . $watermarktext['shadowx'] . ',' . $watermarktext['shadowy'] . ' ''.$watermarktextcvt.''"' : '') . ' -fill "rgb(' . $watermarktext['color'] . ')"' . ' -draw "' . ' gravity ' . $gravity . $translate . $skewX . $skewY . ' rotate ' . $watermarktext['angle'] . ' text 0,0 ''.$watermarktextcvt.''"' . ' ' . $this->targetfile . ' ' . $targetfile; } @exec($exec_str, $output, $return); if (empty($return) && empty($output)) { $this->attach['size'] = filesize($this->targetfile); } }
本文地址:http://www.phprm.com/tuxiang/fs4505.html
转载随意,但请附上文章地址:-)