Intereting Posts
Наиболее эффективный способ хранения ежедневных просмотров страниц, а также общий счет Кто-нибудь знает, как преобразовать двоичные данные, хранящиеся в базе данных, обратно в изображение? API Google Contacts отвечает с ошибкой «countryBlock» Обновление данных полей базы данных MySQL с помощью HTML-формы и PHP XMLVend Пример XML-запроса и ответа? загрузка проекта codeigniter в качестве субдомена сервера Как я могу определить, какая версия CakePHP – это проект? Как исправить ассоциативные ключи массива, которые не имеют одинарных кавычек в нескольких файлах Удаление любого существующего файла из Dropzone показывает dictDefaultMessage Отношения при обновлении объекта в Symfony2 – один-на-один и один-ко-многим не работают Заголовок авторизации не проходит через тестирование API Codeception PHP: сохранение «объектов» внутри $ _SESSION Сгладить массив в Ларавеле? Почему этот код выдает API API API 191? Задача командной строки Laravel 5.1 Task Scheduling

Как получить новую ширину и высоту после поворота изображения с помощью функции imagerotate ()?

Как мне получить новую ширину и высоту, установленную после поворота изображения?

$ps['product_angle'] = 77; //Could be any angle $filename = 'test.png' //filename to the original product list($source_width, $source_height) = getimagesize($filename); $source_image = imagecreatefromjpeg($filename); $angle = $ps['product_angle']; if (intval($angle) <> 0) { $source_image = imagerotate($source_image, 360-$angle, imageColorAllocateAlpha($source_image, 255, 255, 255, 127)); } $ps['source_image'] = $source_image; 

Я хочу это, потому что хочу сделать изменение размера изображения на основе созданного выше изображения. ( $ps['source_image'] )

 //If I do an image list($source_width, $source_height) = getimagesize($filename); $dest_width = (int)$ps['product_width']; $dest_height = (int)$ps['product_height']; //Resize source-image to new width and height //But this width and height are incorrect because they are //set before image is rotated and often the image is just "cut off" // imagecopyresized($dest_image, $ps['source_image'], 0, 0, 0, 0, $dest_width, $dest_height, $source_width, $source_height); 

Используйте функции imagesx() и imagesy() чтобы получить ширину и высоту изображения, загруженного или созданного в памяти с помощью GD.

 $filepath = '/tmp/1.jpg'; $size = getimagesize($filepath); echo('Image dimensions returned by getimagesize() : '.$size[0].'x'.$size[1]." pixels\n"); $img = imagecreatefromjpeg($filepath); $width = imagesx($img); $height = imagesy($img); echo('Dimensions returned by imagesx() and imagesy(): '.$width.'x'.$height." pixels.\n"); $angle = 60; $dst = imagerotate($src, $angle, imageColorAllocateAlpha($src, 255, 255, 255, 127)); $width = imagesx($dst); $height = imagesy($dst); echo('Dimensions of the rotated image: '.$width.'x'.$height." pixels.\n"); 

Вы можете сделать это с помощью: http://php.net/manual/en/function.getimagesize.php , например:

 <?php $size = getimagesize($filename); $fp = fopen($filename, "rb"); if ($size && $fp) { header("Content-type: {$size['mime']}"); fpassthru($fp); exit; } else { // error } ?>