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

Форум PHP

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

 

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

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

тема: Прозрачность в изображении
 
 автор: devil943   (06.01.2008 в 20:19)   письмо автору
 
 

Получено новое пустое изображение заданных рамеров:

$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

На первой я вырезал ненужное фотшопом. на второй пока функция прозрачности не используется...

   
 
 автор: ddhvvn   (06.01.2008 в 20:56)   письмо автору
 
   для: devil943   (06.01.2008 в 20:19)
 

Или я что-то недопонял, или Вы хотите увидеть прозрачность в jpeg!

   
 
 автор: devil943   (06.01.2008 в 23:02)   письмо автору
 
   для: ddhvvn   (06.01.2008 в 20:56)
 

Прошу вас читать то, что я написал. Картинка png, пример кода, который я привел про jpeg, это для экономии места.

   
 
 автор: ddhvvn   (06.01.2008 в 23:19)   письмо автору
 
   для: devil943   (06.01.2008 в 23:02)
 

Вот это

header ("Content-type: image/jpeg"); 
imagejpeg($dest_img, $smallimage); 

для экономии места?

   
 
 автор: devil943   (07.01.2008 в 12:18)   письмо автору
 
   для: 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; 


Вы довольны?

   
 
 автор: mihdan   (07.01.2008 в 14:49)   письмо автору
 
   для: devil943   (07.01.2008 в 12:18)
 

Только не смотрите результат вашего труда в ИЕ6 по виндовс - он не поддерживает прозрачность в png

PS: чем gif вам не угодил

   
 
 автор: SHAman   (07.01.2008 в 18:59)   письмо автору
 
   для: mihdan   (07.01.2008 в 14:49)
 

Вообще говоря, png - более новый формат. Он лучше гифа по многим параметрам. Создавался и затачивался специально для веб. В принципе, давно бы юзал png вместо других форматов, да только вот IE и его трабблы...

   
 
 автор: mihdan   (07.01.2008 в 20:26)   письмо автору
 
   для: SHAman   (07.01.2008 в 18:59)
 

Вы имеете ввиду альфа-канал? Если да то просто попробуйте скрипт ссылка на который выше-все заработает

   
 
 автор: devil943   (08.01.2008 в 12:59)   письмо автору
 
   для: mihdan   (07.01.2008 в 14:49)
 

Меня это не особо тревожит, так так
1) IE 6 от силы пользуются процентов 30
2) Я всего ли лишь учусь

Да и честно говоря не слышал про такие проблемы IE6... Занимаюсь чисто версткой уже года 4-5.. png - формат, если нужно что-нибудь аккуратно вырезанное поместить на страничку, так как gif оставить ореол.

   
 
 автор: mihdan   (09.01.2008 в 10:20)   письмо автору
 
   для: devil943   (08.01.2008 в 12:59)
 

Нда .. плохо вы знаете: ИЕ6 юзают до 70-80 процентов пользователей, чтоб гиф не оставлял ореол нужно фотошопить аккуратно!

   
 
 автор: cheops   (09.01.2008 в 14:17)   письмо автору
 
   для: mihdan   (09.01.2008 в 10:20)
 

Это от сайта зависит и от его аудитории, на softtime.ru например 40%.

   
 
 автор: devil943   (09.01.2008 в 17:08)   письмо автору
 
   для: mihdan   (09.01.2008 в 10:20)
 

Честно говоря я таких проблем не наблюдал. png может и не супер старый формат, но лет эдак 8-9 он точно существет. А IE 6 появился в Win Xp, 2001 год)

   
 
 автор: cheops   (10.01.2008 в 14:59)   письмо автору
 
   для: devil943   (09.01.2008 в 17:08)
 

Прозрачность в IE не поддерживается - без неё да, всё нормально отображается.

   
 
 автор: Петр   (11.01.2008 в 11:58)   письмо автору
 
   для: devil943   (06.01.2008 в 20:19)
 

IE 6 и ниже не поддерживают альфа канал в PNG-файлах, для этого нужно добавить специальный стиль в тег IMG, тогда все будет супер...
Проще попробовать использовать GIF, у него качество краев изображения будет намного хуже, но бдруг подайдет

   
 
 автор: mihdan   (11.01.2008 в 15:56)   письмо автору
 
   для: Петр   (11.01.2008 в 11:58)
 

Петр, не стиль, а фильтр или юзать htc

   
Rambler's Top100
вверх

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