#php #php-gd
#php #php-gd
Вопрос:
$dest = imagecreatefromjpeg('image.jpg');
$src = imagecreatefrompng('image2.png');
// Copy and merge
imagecopymerge($dest, $src, 50, 50, 0, 0, 30, 30, 75);
imagepng($dest, '1.png');
imagedestroy($dest);
imagedestroy($src);
$ dest = 50×50
$ src = 30×30
1.png показывает только изображение $ dest без $ src поверх него.
Заранее спасибо.
Ответ №1:
Если значение dest равно 50×50, то вы пытаетесь скопировать из нижнего правого угла, который имеет 50, 50 в качестве координат.
-----------------------
| |
| |
| you should copy |
| |
| |
| |
| there |
| |
| |
| |
| |
----------------------- -----------------------
| |
| |
| you're copying |
| |
| |
| |
| |
| here |
| |
| |
| |
| |
-----------------------
Комментарии:
1. Теперь, как я могу поместить его с прозрачными краями на другой?
2. @askingDude: я не понимаю, что вы подразумеваете под «прозрачными краями», но если я проигнорирую эту часть предложения, я бы сказал, изменив координаты на что-то меньшее, чем 50, 50. Если вы это сделаете, вы должны что-то увидеть, а затем продолжить методом проб и ошибок…
3. Да, это сработало: imagecopymerge($ dest, $ src, 25, 25, 0, 0, 25, 25, 100); А второй img теперь равен 25 пикселям. Но мое второе изображение представляет собой круг, и оно показывает белые края, пока не станет похоже на прямоугольник, как я могу избавиться от белых краев? * .png?
4. После прочтения руководства кажется, что вы не должны получать эти белые края с вашим последним параметром… вы уверены, что эти края не отображаются на исходном изображении?
5. Я имею в виду, что я хочу, чтобы у моего изображения не было белых краев, и я удалил их с помощью photoshop, но они почему-то все еще там, может быть, из-за формата изображения?