Показать только определенную часть изображения и изменить его размер с помощью GD - PullRequest
0 голосов
/ 23 марта 2011

В настоящее время у меня есть готовый скрипт, который изменяет размеры всего изображения с помощью GD, но мне нужно получить определенную часть изображения для отображения и изменить размер только этой конкретной части.

Это изображение:

http://craffy.gdscei.com/enjikaka.png

Это то, что нужно отобразить, вынуть остальное с помощью Photoshop:

http://craffy.gdscei.com/enjikakap.png

Окончательное изображение должно быть 150x150.

Это сценарий, который я пробовал:

<?php

    $srcp = imagecreatefrompng("enjikaka.png");
    $destp = imagecreate(150, 150);
    imagecopyresampled($destp, $srcp, 0, 0, -8, -8, 150, 150, 64, 32);
    header('Content-type: image/png');
    imagepng($destp);

?>

Но этот не выбирает правильную часть изображения.Может ли кто-нибудь помочь мне здесь?

Ответы [ 2 ]

2 голосов
/ 23 марта 2011

Почему (-8, -8)? Это должен быть верхний левый угол вашей области для копирования. Это должно быть 8, 8. И два последних параметра: (64, 32) - ширина и высота вашей исходной области. Это должно быть 8, 8 тоже.

imagecopyresampled ($destp, $srcp, 0, 0, 8, 8, 150, 150, 8, 8);

Я предполагаю, что ваше исходное изображение построено на 8х8 единиц. Вы должны проверить координаты в photosop.

Предлагаю вам прочитать документацию по функции . Это первое, что ты делаешь, когда дела идут не так, как ты ожидал.

0 голосов
/ 23 марта 2011
$srcp = imagecreatefrompng("enjikaka.png");
$destp = imagecreate(150, 150);
imagecopy($despt, $srcp, $dst_x , $dst_y , $src_x , $src_y , $src_w , $src_h);

Я думаю, вы должны включить этот вызов imagecopy в ваш скрипт, который должен обрабатывать кадрирование изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...