Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: При обжимании картинки появляется темная полоса...
 
 автор: Андр   (06.01.2006 в 10:28)   письмо автору
 
 

При загрузке картинки, сохраняю на сервере две картинки в разных форматах - одну меньше, другую больше по размеру. При этом в картинке появляется тёмная полоса внизу или справа. Функция imagecolorallocate не помогает или я её не правильно использую.
часть кода:
$size_img = getimagesize($_FILES['pic']['tmp_name']);

$new = ImageCreateTruecolor($w, $h);
imagecolorallocate($new, 0xFF, 0xFF, 0xFF);
$new1 = ImageCreateTruecolor($w1, $h1);
imagecolorallocate($new1, 0xFF, 0xFF, 0xFF);

$old = imagecreatefromjpeg($_FILES['pic']['tmp_name']);

imageCopyResized($new, $old, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
imageCopyResized($new1, $old, 0, 0, 0, 0, $w1, $h1, $size_img[0], $size_img[1]);

   
 
 автор: Саня   (06.01.2006 в 12:54)   письмо автору
 
   для: Андр   (06.01.2006 в 10:28)
 

Размеры уменьшенной картинки не пропорциональны исходной, поэтому и появляются полосы.
Советую воспользоваться функцией resizeimg(), написанной Дизайнером: http://softtime.ru/forum/read.php?id_forum=1&id_theme=145

   
 
 автор: malish   (06.01.2006 в 12:57)   письмо автору
 
   для: Андр   (06.01.2006 в 10:28)
 

Попробуй так:


$size_img = getimagesize($_FILES['pic']['tmp_name']);

$w=200; //например
$h=$size_img[1]/($size_img[0]/$w);
$new = ImageCreateTruecolor($w, $h);
imagecolorallocate($new, 0xFF, 0xFF, 0xFF);

// тоже самое тут
$new1 = ImageCreateTruecolor($w1, $h1);
imagecolorallocate($new1, 0xFF, 0xFF, 0xFF);

$old = imagecreatefromjpeg($_FILES['pic']['tmp_name']);

imageCopyResized($new, $old, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
imageCopyResized($new1, $old, 0, 0, 0, 0, $w1, $h1, $size_img[0], $size_img[1]);

   
 
 автор: Андр   (06.01.2006 в 13:19)   письмо автору
 
   для: malish   (06.01.2006 в 12:57)
 

пасиба!
(извиняюсь за жаргон)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования