【问题标题】:How to merge two image in Laravel如何在 Laravel 中合并两个图像
【发布时间】:2018-10-06 07:18:54
【问题描述】:

我想使用 Laravel 将两个图像一个接一个地合并。

第一张图片

第二张图片

我想要最终结果

图片必须是可下载的

【问题讨论】:

标签: javascript php css laravel


【解决方案1】:

使用默认的php函数(imagecopymerge)(GD库):

<?php

list($new_width, $new_height, $new_type, $new_attr) = getimagesize("newimage.png");
switch(image_type_to_mime_type($new_type)){
     case IMAGETYPE_GIF:
         $new = imagecreatefrompng('newimage.png');
     break;
     case IMAGETYPE_JPEG:
         $new = imagecreatefromjpeg('newimage.png');
     break;
     case IMAGETYPE_PNG:
         $new = imagecreatefromgif('newimage.png');
     break;
}

$master = imagecreatefrompng('master.png');


imagealphablending($master, false);
imagesavealpha($demasterst, true);

imagecopymerge($master, $new, $box_x, $box_y, 0, 0, $box_w, $box_h, 100);
// imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

//save image
imagepng($master, "file.png");

imagedestroy($master);
imagedestroy($new);

jpeg 格式使用打击功能:

  1. http://php.net/manual/en/function.imagejpeg.php
  2. http://php.net/manual/en/function.imagecreatefromjpeg.php

如果您不想存储它而只想将其发送给用户:

...
...
header('Content-Type: image/jpeg');

// Output the image
imagejpeg($master);

// Free up memory
imagedestroy($master);
imagedestroy($new);

【讨论】:

    【解决方案2】:

    **此代码工作**

    <?php
    
    $image1 = 'images/template.png';
    $image2 = 'images/1.png';
    
    list($width,$height) = getimagesize($image2);
    
    $image1 = imagecreatefromstring(file_get_contents($image1));
    $image2 = imagecreatefromstring(file_get_contents($image2));
    
    imagecopymerge($image1,$image2,40,100,0,0,$width,$height,100);
    header('Content-Type:image/png');
    imagepng($image1);
    
    imagepng($image1,'merged.png');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-22
      • 2016-01-19
      • 2018-01-19
      • 2012-10-10
      • 2012-02-10
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      相关资源
      最近更新 更多