星罗

导航

php图片合成

<?php
//===================== 新建一个新的 GD 图像流并输出图像========================
//header("Content-type: image/png");
function combine_image($image1, $image2, $opt = 100) {
    $wimage_data = GetImageSize($image1);
    $width_im1 = $wimage_data[0];
    $height_im1 += $wimage_data[1];

    switch ($wimage_data[2]) {
        case 1:
            $im1 = @ImageCreateFromGIF($image1);
            break;

        case 2:
            $im1 = @ImageCreateFromJPEG($image1);
            break;

        case 3:
            $im1 = @ImageCreateFromPNG($image1);
            break;
    }
    $wimage_data = GetImageSize($image2);
    $width_im2 = $wimage_data[0];
    $height_im2 += $wimage_data[1];

    $width = min($width_im1,$width_im2);
    $height = $height_im1 + $height_im2;
    switch ($wimage_data[2]) {
        case 1:
            $im2 = @ImageCreateFromGIF($image2);
            break;

        case 2:
            $im2 = @ImageCreateFromJPEG($image2);
            break;

        case 3:
            $im2 = @ImageCreateFromPNG($image2);
            break;
    }
    
    $im = imagecreatetruecolor($width, $height);
    $white = imagecolorallocatealpha($im, 255, 255, 255, 127);
    imagefill($im, 0, 0, $white);
 
    imagecopy($im, $im1, 0, 0, 0, 0, $width, $height_im1);
    imagecopy($im, $im2, 0, $height_im1, 0, 0, $width, $height_im2);
    //================================================
    header('Content-Type: image/jpeg');
    imagejpeg($im,"tpn.jpg");
    //$output_image = str_replace('.','_email.',$image1);
    imagedestroy($im);
    imagedestroy($im1);
    imagedestroy($im2);
    imagedestroy($im3);
    // imagedestroy($im_small);
    
}
combine_image('11.jpg', '1.jpg');
?>

posted on 2014-11-29 14:32  星罗  阅读(297)  评论(0编辑  收藏  举报