[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Замена цвета в картинке прозрачным
Web-School
Здравствуйте, нужно заменить цвет в картинке на прозрачный, делаю так:

$black = ImageColorAllocate($img, 0, 0, 0);
imagecolortransparent ($img, $black);

не помогает. Пожалуйста подскажите в чем может быть проблема, или приведите код реализации замены цвета на прозрачный.
Спасибо!



Спустя 5 минут, 24 секунды (27.05.2011 - 14:13) tatti написал(а):

 ! 

М
Предупреждение за офф-топ!
inpost

Спустя 2 минуты, 34 секунды (27.05.2011 - 14:15) inpost написал(а):
tatti
Что за бред? В гугле будет ссылка на эту же страницу и ты вгоняешь в рекурсию. Ответь по теме, если не можешь - промолчи!

Спустя 2 минуты, 4 секунды (27.05.2011 - 14:17) Snus написал(а):
Web-School
Я как раз писал подобную функцию когда-то... ) ща попробую найти

Спустя 56 секунд (27.05.2011 - 14:18) tatti написал(а):
мания величия? rolleyes.gif

 ! 

М
Предупреждение второе и последнее за офф-топ!
inpost

Спустя 3 часа, 21 минута, 39 секунд (27.05.2011 - 17:40) Zerstoren написал(а):
Цитата (Web-School @ 27.05.2011 - 11:07)
Здравствуйте, нужно заменить цвет в картинке на прозрачный, делаю так:

$black = ImageColorAllocate($img, 0, 0, 0);
imagecolortransparent ($img, $black);

не помогает. Пожалуйста подскажите в чем может быть проблема, или приведите код реализации замены цвета на прозрачный.
Спасибо!

В библиотеке проблема, в библиотеке.

Спустя 27 минут, 52 секунды (27.05.2011 - 18:08) Web-School написал(а):
вот я тоже думаю что в библиотеке, судя по описанию все должно работать.

Цитата

Web-School
Я как раз писал подобную функцию когда-то... ) ща попробую найти

Snus, буду примного благодарен =)

Спустя 2 часа, 13 минут, 45 секунд (27.05.2011 - 20:22) Web-School написал(а):
Разобрался, решение действительно в библиотеке. Но если у кого есть решение под старые версии, буду рад им smile.gif

Спустя 1 час, 22 минуты, 56 секунд (27.05.2011 - 21:45) Zerstoren написал(а):
Используйте imagick если хостинг позволяет.

Спустя 54 минуты, 1 секунда (27.05.2011 - 22:39) Snus написал(а):
Ух... нашел, сам попробуй разобраться :) Вырезает белый фон, в массиве $config содержатся путь, размеры файла и тд... ну попробуй сам уже разобраться :)

	function getThumbnail($img_src, $img_name, $config){

extract($config);

if(!is_dir($img_dir2)) return FALSE;

list($img_w, $img_h, $img_type, $img_attr) = getimagesize($img_dir.$img_src);

switch ($img_type){
case '1': $img_temp = imagecreatefromgif($img_dir.$img_src); break;
case '2': $img_temp = imagecreatefromjpeg($img_dir.$img_src); break;
case '3': $img_temp = imagecreatefrompng($img_dir.$img_src); break;
default: return FALSE;
}

if(empty($img_w) || empty($img_h)) return FALSE;

$ko = 1;
$new_w = $img_w;
$new_h = $img_h;

if(!empty($max_w)){

if($img_w > $img_h && $img_w > $max_w){
$ko = $img_h / $img_w;
$new_w = $max_w;
$new_h = floor($new_w * $ko);
} else if($img_h > $img_w && $img_h > $max_h){
$ko = $img_w / $img_h;
$new_h = $max_h;
$new_w = floor($new_h * $ko);
}

if($new_w > $max_w){
$ko = $img_h / $img_w;
$new_w = $max_w;
$new_h = floor($new_w * $ko);
}

}


$img = @imagecreatetruecolor($new_w, $new_h);
if(!$img) return FALSE;

if($transparent){
if(!@imagecopyresized($img, $img_temp, 0, 0, 0, 0, $new_w, $new_h, $img_w, $img_h)) return FALSE;
$white = @imagecolorallocate($img, 255, 255, 255);
if(!$white) return FALSE;
if(!@imagecolortransparent($img, $white)) return FALSE;
} else {
if(!@imagecopyresampled($img, $img_temp, 0, 0, 0, 0, $new_w, $new_h, $img_w, $img_h)) return FALSE;
}

$func = 'image'.$ext;

if(!@$func($img, $img_dir2.$img_name.'.'.$ext)) return FALSE;
@imagedestroy($img);
@imagedestroy($img_temp);

echo 'Файл <b>'.$img_name.'</b> успешно сохранен с размерами <u>'.$new_w.'x'.$new_h.'</u><br />';

}

Спустя 1 день, 18 часов, 48 минут, 37 секунд (29.05.2011 - 17:27) Web-School написал(а):
Кто может сказать от чего конкретно зависит поддерживаются ли функции прозрачности или нет?

Спасибо!

Мб с такой-то версии библиотеки начали поддерживаться. чтобы я знал как выбирать хостинг с поддежкой

Спустя 20 часов, 55 минут, 10 секунд (30.05.2011 - 14:22) Web-School написал(а):
ещё вопрос - как улучшить качество, получается изображение плохого качества.

Спустя 1 час, 15 минут (30.05.2011 - 15:37) Zerstoren написал(а):
Выкинуть библиотеку GD Х_Х
Используйте Imagick - он тяжелее, доков по нему меньше, но свою работу он выполняет на все 100% в отличии от ГД
Быстрый ответ:

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