2013-11-07 11 views
0

У меня есть prorgam, который использует imagecopymerge. Здесь я использую два изображения. Первое изображение для фона и второе, которое будет помещено внутри него. Я могу это сделать, но теперь я хочу, чтобы второе изображение было на определенном уровне. это изображение загружается пользователем и сохраняется на моем сервере, поэтому я не контролирую его размер. Как изменить размер второго изображения перед его использованием в моем imagecopymerge? Большое спасибо за ответ. Пожалуйста, также подумайте, что изменение размера при загрузке - мой наименьший вариант. Я хочу, чтобы размер был 255x175.Изменение размера изображения перед использованием в imagecopymerge

Это то, что у меня есть:

$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); 
+1

Использование ' imagecopyresampled() 'на изображении, которое вы хотите для изменения размера, infact вы можете использовать это для выполнения операции «слияния», поскольку она имеет ширину и высоту источника/назначения. – Scuzzy

+0

@Scuzzy отвечает за ответ. можете ли вы дать мне код? поэтому я бы знал, как это сделать. спасибо за помощь мне еще –

+0

[imagecopyresampled()] (http://php.net/manual/en/function.imagecopyresampled.php) настолько похож на [imagecopymerge()] (http://us3.php.net/ imagecopymerge), у вас действительно не должно возникнуть проблемы с его реализацией, просто обратите пристальное внимание на порядок параметров, так как 7-й параметр отличается от другого. – Scuzzy

ответ

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)); 
+0

Я пробовал, но я только хочу, чтобы размер $ img2 был изменен. не весь образ. –

+0

, пожалуйста, помогите мне, я тоже закончил с этим кодом, и ситуация befroe я вывешу этот quetion. я действительно теряю надежду. –

+0

, или это возможно, если я imagecopyresampled $ img2, а затем, когда его изменение размера я могу использовать его в моем imgcopymerge? пожалуйста, обратитесь к коду в моем вопросе. $ img2 - это загруженный файл. это было там. спасибо –

Смежные вопросы