[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Черные полосы после crop
remenikomer
Делаю обрезку изображения по заданным размерам. По краям появляются черные полосы.
Причем пара нюансов:
1. появляется только на хостинге. На локалке нет, поэтому выловить не могу - проблемы для пользователей не хочу создавать различными дебагами и т.п.
2. полосы либо сверху и снизу, либо справа и слева. От чего зависит не знаю. Но симметрично.
Полосы черные, тонкие.
Выкладываю код с уже подстановленными размерами (что приходит из js:(
// resize the original image to size of editor
$resizedImage = imagecreatetruecolor(900, 490);
imagecopyresampled($resizedImage, $source_image, 0, 0, 0, 0, 900, 490, 900, 490);

// rotate the rezized image
$rotated_image = imagerotate($resizedImage, -0, 0);

// find new width & height of rotated image
$rotated_width = imagesx($rotated_image);
$rotated_height = imagesy($rotated_image);

// diff between rotated & original sizes
$dx = $rotated_width - 900;
$dy = $rotated_height - 490;

// crop rotated image to fit into original rezized rectangle
$cropped_rotated_image = imagecreatetruecolor(900, 490);
imagecolortransparent($cropped_rotated_image, imagecolorallocate($cropped_rotated_image, 0, 0, 0));
imagecopyresampled($cropped_rotated_image, $rotated_image, 0, 0, $dx / 2, $dy / 2, 900, 490, 900, 490);

// crop image into selected area
$final_image = imagecreatetruecolor(653, 490);
imagecolortransparent($final_image, imagecolorallocate($final_image, 0, 0, 0));
imagecopyresampled($final_image, $cropped_rotated_image, 0, 0, 123, 0, 653, 490, 653, 490);


// finally output png image
imagejpeg( $final_image, ROOT_DIR .'/'. $this->path .'crop_'. $this->base_img_name, $config['img_obj_quality'] );


Пробовал вверху добавлять:
 imagecolortransparent($resizedImage, imagecolorallocate($resizedImage, 0, 0, 0));
Не помогло.

GD библиотека на хостинге и локалке одинаковая. Не понимаю в чем проблема.
Есть подозрение еще на $dx / 2, $dy / 2, может быть там получается дробь или еще чего. Не понял, зачем там делить на 2.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.