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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: GIF, превью, прозрачность!

Сообщения:  [1-10] 

 
 автор: Legenda   (26.05.2010 в 13:40)   письмо автору
 
   для: -sasha-   (26.05.2010 в 12:45)
 

Сделать подложку прозрачной легко:


<?php
...
imagecolortransparent($imgfalse);
...
?>


Другое дело что в этом случае ВЕСЬ черный цвет в изображении станет прозрачным и это не внушает оптимизма. Перед применением данной функции надо как-то вычислить две вещи. Первая, если ли в изображении прозрачный фон (соответственно стоит-ли применять данную функцию). Второе, решить как безболезненно воткнуть данную функцию, чтобы не снести какой либо цвет. Интересно если ли у кого либо мысли по этому поводу....

  Ответить  
 
 автор: sim5   (26.05.2010 в 12:48)   письмо автору
 
   для: -sasha-   (26.05.2010 в 12:45)
 

Нужно указать подложке цвет, который будет прозрачным. Выше не вариант, а пример открытия необходимого ресурса для подложки, в зависимости от типа изображения источника.

  Ответить  
 
 автор: -sasha-   (26.05.2010 в 12:45)   письмо автору
 
   для: sim5   (26.05.2010 в 05:42)
 

Ваш вариант проходит но только теперь черный цвет стал белым. но не прозрачным (

  Ответить  
 
 автор: oliss   (26.05.2010 в 06:46)   письмо автору
 
   для: -sasha-   (26.05.2010 в 00:53)
 

Интересная статья Типовые операции с изображениями посредством GD http://www.sql.ru/forum/actualthread.aspx?tid=675954

  Ответить  
 
 автор: sim5   (26.05.2010 в 05:42)   письмо автору
 
   для: oliss   (26.05.2010 в 05:39)
 

А если в палитре исходного GIF изображении будет присутствовать черный цвет, и он не является прозрачным, тогда что?

PS. Извиняюсь, проглядел, что вы подложку мудрите, а зачем?
<?
$imd 
imageColorsTotal($ims) ? imagecreate($w$h) : imagecreatetruecolor($w$h);

  Ответить  
 
 автор: oliss   (26.05.2010 в 05:39)   письмо автору
 
   для: -sasha-   (26.05.2010 в 00:53)
 


        $img     = imageCreateTrueColor($w, $h);
        $black   = imageColorAllocate ($img, 0, 0, 0);
        imageColorTransparent($img, $black);
        $palette = imageColorsTotal($src_img);
        imageTrueColorToPalette($img, true, $palette);

  Ответить  
 
 автор: sim5   (26.05.2010 в 02:56)   письмо автору
 
   для: -sasha-   (26.05.2010 в 00:53)
 

imagealphablending и imagesavealpha работают не с PNG-форматом, а с альфа каналом.
Для палитровых изображений GIF, PNG8, и подложку создавайте палитровую - imagecreate(), тогда проблем с наложением не будет.

  Ответить  
 
 автор: Рома   (26.05.2010 в 02:14)   письмо автору
 
   для: Gubichev   (26.05.2010 в 01:28)
 

Это почему вы так решили?

  Ответить  
 
 автор: Gubichev   (26.05.2010 в 01:28)   письмо автору
 
   для: -sasha-   (26.05.2010 в 00:53)
 

Ничего хорошего из GIFа не выйдет. Используйте PNG

  Ответить  
 
 автор: -sasha-   (26.05.2010 в 00:53)   письмо автору
 
 

Доброй ночи !!!
Делаю превьюшки. и вот такая проблемка - прозрачность заливаец черным цветом!
Что делать ?

imagealphablending и imagesavealpha работают только с PNG-форматом. с остальными никак!

  Ответить  

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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