图片缩放 合并

php

16-3-21 0:35:35

function tx($p,$id){

//图片的等比缩放
    
    //因为PHP只能对资源进行操作,所以要对需要进行缩放的图片进行拷贝,创建为新的资源
    $src=imagecreatefromjpeg($p);
    
    //取得源图片的宽度和高度
    $size_src=getimagesize($p);
    $w=$size_src['0'];
    $h=$size_src['1'];
    
    //指定缩放出来的最大的宽度(也有可能是高度)
    $max=100;
    
    //根据最大值为300,算出另一个边的长度,得到缩放后的图片宽度和高度
    if($w > $h){
        $w=$max;
        $h=$h*($max/$size_src['0']);
    }else{
        $h=$max;
        $w=$w*($max/$size_src['1']);
    }
    
    
    //声明一个$w宽,$h高的真彩图片资源
    $image=imagecreatetruecolor($w, $h);
    
    
    //关键函数,参数(目标资源,源,目标资源的开始坐标x,y, 源资源的开始坐标x,y,目标资源的宽高w,h,源资源的宽高w,h)
    imagecopyresampled($image, $src, 0, 0, 0, 0, $w, $h, $size_src['0'], $size_src['1']);
    
    //告诉浏览器以图片形式解析
   // header('content-type:image/png');
    //imagepng($image);
    imagepng($image, 'tx/'.$id.'_100.jpg'); 
    //销毁资源
    imagedestroy($image);

}


function hb($p1,$p2,$u){



$logo=$p2;

$QR =$p1;//已经生成的原始二维码图  



    $QR = imagecreatefromstring(file_get_contents($QR,true));  
    $logo = imagecreatefromstring(file_get_contents($logo,true));  
    $QR_width = imagesx($QR);//二维码图片宽度  
    $QR_height = imagesy($QR);//二维码图片高度  
    $logo_width = imagesx($logo);//logo图片宽度  
    $logo_height = imagesy($logo);//logo图片高度  
    $logo_qr_width = $QR_width / 5;  
    $scale = $logo_width/$logo_qr_width;  
    $logo_qr_height = $logo_height/$scale;  
    $from_width = ($QR_width - $logo_qr_width) / 2;  
    //重新组合图片并调整大小  
    imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,   
    $logo_qr_height, $logo_width, $logo_height);  

//输出图片  
imagepng($QR, 'tx/'.$u.'_fx.jpg');  
//echo '<img src="helloweba.png">'; 
//header('Content-type: image/png');
//imagepng($QR);
imagedestroy($QR);


}