|
|
|
| Получено новое пустое изображение заданных рамеров:
$dest_img = imagecreatetruecolor($w,$h);
|
Далее заданный файл копируем в другой, например jpeg
$src_img = imagecreatefromjpeg($filename);
|
Накладываем:
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1])
|
Отправляем заголовки и изображение:
header ("Content-type: image/jpeg");
imagejpeg($dest_img, $smallimage);
|
Теперь вопрос: допустим у нас был не jpeg, а png, причем прозрачный.
$color=imagecolorclosest($smallimage, 0,0,0);
imagecolortransperent($smallimage, $color);
Но если допустим функция должна работать автоматом? или на картинке помимо чатей, которых надо сделать прозрачных (черных), есть черные часть, которые прозрачными делат не надо?
Вот пример:
http://o-rpg.com/n_witcher.png - с прозрачностью, исходник
А вот переделанный функций (по идее она масштабирует, но в данном случае это не требуется, так как картинка нужны размеров)
http://o-rpg.com/small_n_witcher.png
На первой я вырезал ненужное фотшопом. на второй пока функция прозрачности не используется... | |
|
|
|
|
|
|
|
для: devil943
(06.01.2008 в 20:19)
| | Или я что-то недопонял, или Вы хотите увидеть прозрачность в jpeg! | |
|
|
|
|
|
|
|
для: ddhvvn
(06.01.2008 в 20:56)
| | Прошу вас читать то, что я написал. Картинка png, пример кода, который я привел про jpeg, это для экономии места. | |
|
|
|
|
|
|
|
для: devil943
(06.01.2008 в 23:02)
| | Вот это
header ("Content-type: image/jpeg");
imagejpeg($dest_img, $smallimage);
|
для экономии места? | |
|
|
|
|
|
|
|
для: ddhvvn
(06.01.2008 в 23:19)
| |
$dest_img = imagecreatetruecolor($w,$h);
$src_img = imagecreatefrompng($filename);
if (!imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1])) return false;
$path_parts=pathinfo($filename);
header ("Content-type: image/png");
imagepng($dest_img, $smallimage);
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
|
Вы довольны? | |
|
|
|
|
|
|
|
для: devil943
(07.01.2008 в 12:18)
| | Только не смотрите результат вашего труда в ИЕ6 по виндовс - он не поддерживает прозрачность в png
PS: чем gif вам не угодил | |
|
|
|
|
|
|
|
для: mihdan
(07.01.2008 в 14:49)
| | Вообще говоря, png - более новый формат. Он лучше гифа по многим параметрам. Создавался и затачивался специально для веб. В принципе, давно бы юзал png вместо других форматов, да только вот IE и его трабблы... | |
|
|
|
|
|
|
|
для: SHAman
(07.01.2008 в 18:59)
| | Вы имеете ввиду альфа-канал? Если да то просто попробуйте скрипт ссылка на который выше-все заработает | |
|
|
|
|
|
|
|
для: mihdan
(07.01.2008 в 14:49)
| | Меня это не особо тревожит, так так
1) IE 6 от силы пользуются процентов 30
2) Я всего ли лишь учусь
Да и честно говоря не слышал про такие проблемы IE6... Занимаюсь чисто версткой уже года 4-5.. png - формат, если нужно что-нибудь аккуратно вырезанное поместить на страничку, так как gif оставить ореол. | |
|
|
|
|
|
|
|
для: devil943
(08.01.2008 в 12:59)
| | Нда .. плохо вы знаете: ИЕ6 юзают до 70-80 процентов пользователей, чтоб гиф не оставлял ореол нужно фотошопить аккуратно! | |
|
|
|
|
|
|
|
для: mihdan
(09.01.2008 в 10:20)
| | Это от сайта зависит и от его аудитории, на softtime.ru например 40%. | |
|
|
|
|
|
|
|
для: mihdan
(09.01.2008 в 10:20)
| | Честно говоря я таких проблем не наблюдал. png может и не супер старый формат, но лет эдак 8-9 он точно существет. А IE 6 появился в Win Xp, 2001 год) | |
|
|
|
|
|
|
|
для: devil943
(09.01.2008 в 17:08)
| | Прозрачность в IE не поддерживается - без неё да, всё нормально отображается. | |
|
|
|
|
|
|
|
для: devil943
(06.01.2008 в 20:19)
| | IE 6 и ниже не поддерживают альфа канал в PNG-файлах, для этого нужно добавить специальный стиль в тег IMG, тогда все будет супер...
Проще попробовать использовать GIF, у него качество краев изображения будет намного хуже, но бдруг подайдет | |
|
|
|
|
|
|
|
для: Петр
(11.01.2008 в 11:58)
| | Петр, не стиль, а фильтр или юзать htc | |
|
|
|