在imagecopymerge中使用之前调整图像大小

时间:2013-11-07 01:13:55

标签: php file-upload resize

我有一个使用imagecopymerge的prorgam。在这里,我正在使用两个图像。第一张图片用于背景,第二张图片用于放置在其中。我能够这样做,但现在我希望第二张图像具有一定的尺寸。此图像由用户上传并保存在我的服务器上,因此我无法控制它的大小。如何在我的imagecopymerge中使用它之前调整第二个图像的大小?非常感谢您的回答。还请考虑在上传过程中调整大小是我最不重要的选择。我希望大小为255x175。

这就是我所拥有的:

$uploadFilename = $uploadsDirectory.$now.'-'.$_FILES[$fieldname]['name'])

$upload = $uploadFilename;
$im = imagecreatefromjpeg("bg.jpg");
$img2 = imagecreatefromjpeg($upload);
$black = imagecolorallocate($im, 0, 0, 0);
$font = 'arialbi.ttf';
$font2 = 'ariali.ttf';

$newtitle = wordwrap($title, 28, "\n", true);
$newertitle = explode("\n", $newtitle);

imagettftext($im, 28, 0, 7, 270, $black, $font, $newertitle[0]);
imagettftext($im, 28, 0, 7, 320, $black, $font, $newertitle[1]);
imagettftext($im, 10, 0, 320, 362, $black, $font, $namehere);

imagecopymerge($im, $img2, 10, 350, 0, 0, imagesx($img2), imagesy($img2), 100);
imagedestroy($im);

2 个答案:

答案 0 :(得分:1)

http://php.net/manual/en/function.imagecopyresampled.php

拿你的代码......

imagecopymerge($im, $img2, 10, 350, 0, 0, imagesx($img2), imagesy($img2), 100);

并将其更改为......

imagecopyresampled($im, $img2, 10, 350, 0, 0, 255, 175, imagesx($img2), imagesy($img2));

答案 1 :(得分:0)

只需使用php function 给定为:

$img = imagecreatefromjpeg("source_of_img.jpg");
$imgresize = imagescale($dp,200,200);