繁体   English   中英

在Ajax Crop中添加水印

[英]Adding Watermark to Ajax Crop

在此处输入链接描述时使用了Ajax Crop,我想在脚本中添加水印。 以下是我的脚本。

水印

$image_path = "watermark.png";

function watermark_image($oldimage_name, $new_image_name){
    global $image_path;
    list($owidth,$oheight) = getimagesize($oldimage_name);
    $width = 500; $height = 100;    
    $im = imagecreatetruecolor($width, $height);
    $img_src = imagecreatefromjpeg($oldimage_name);
    imagecopyresampled($im, $img_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight);
    $watermark = imagecreatefrompng($image_path);
    list($w_width, $w_height) = getimagesize($image_path);        
    $pos_x = $width - $w_width; 
    $pos_y = $height - $w_height;
    imagecopy($im, $watermark, $pos_x, $pos_y, 0, 0, $w_width, $w_height);
    imagejpeg($im, $new_image_name, 100);
    imagedestroy($im);
    unlink($oldimage_name);
    return true;
}

上载和调整零件尺寸

function resizeThumb($arr){

    $date = md5(time());    
    $arr['temp_uploadfile'] = $arr['img_src'];
$arr['new_uploadfile'] = $arr['uploaddir'].strtolower($date).'.jpg';

    asidoImg($arr);
    exit;
}

我尝试添加

$ arr = watermark_image($ arr ['temp_uploadfile'],$ arr ['uploaddir']。strtolower($ date)。'。jpg');

代替

$ arr ['new_uploadfile'] = $ arr ['uploaddir']。strtolower($ date)。'。jpg';

但这没有用。

有人可以帮我吗?

下载文件测试

事实证明,该脚本使用ASIDO,并且具有内置的WATERMARK TOOL。 在func.php中,我执行了以下操作。

function asidoImg2($arr){

    include('asido/class.asido.php');
    asido::driver('gd');

    $height     = $arr['height'];
    $width      = $arr['width'];
    $x          = $arr['x'];
    $y          = $arr['y'];                

    // process
    $i1 = asido::image($arr['temp_uploadfile'], $arr['new_uploadfile']);    
    // fit and add white frame                                      
    if($arr['thumb'] === true){
        Asido::Crop($i1, $x, $y, $width, $height);
    asido::watermark($i1, 'watermark.png', ASIDO_WATERMARK_MIDDLE_LEFT, ASIDO_WATERMARK_SCALABLE_ENABLED, 1);

    }
    else{
        Asido::Frame($i1, $width, $height, Asido::Color(255, 255, 255));            
    asido::watermark($i1, 'watermark.png', ASIDO_WATERMARK_MIDDLE_LEFT, ASIDO_WATERMARK_SCALABLE_ENABLED, 1);
    }

    // always convert to jpg    
    Asido::convert($i1, 'image/jpg');

    $i1->Save(ASIDO_OVERWRITE_ENABLED);
        $data = array(
        'photo'=> $arr['new_uploadfile']
      );
        // echo $user_id;
    // delete old file
    echo $data['photo'];    

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM