Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сменить фон изображеня? Как сменить фон изображеня? 
:(
    Опции темы
DeMONiZ
Дата 12.4.2010, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



Здравствуйте! Пишу систему на Php, но с кграфикой не работал практически и сейчас срояно понадобилось закрасить белую область на картинке серым цветом.
Информация выводится в системе по типу:

картинка | описание | ............

Выводится все это со сменой фона то есть первая информация на сером вторая на белом и так далее.....

А вот фон картинок белый и это портит весь вид такого цветового разграничения.
Если кто то делал что то такое или подобное поделитесь пожалусто буду очень благодарен или же пример какой дайте.
Заранее спасибо!
PM MAIL WWW   Вверх
krundetz
Дата 12.4.2010, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: нет
Всего: 69



DeMONiZ, попробуйте сделать так чтобы картинки были на прозрачном фоне, а уже потом под них подкладывать фоновое изображение с нужным цветом. Либо можно попробовать сделать замену одного цвета в изображение другим, но при этом этот цвет замениться на всем изображение а не только на фоне. Чтобы этого не происходило необходимо, реализовывать некий алгоритм распознавания фона.


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
DeMONiZ
Дата 13.4.2010, 04:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



О прозрачности думал как вариант может быть сойдет. НО хотелось бы увидеть вариант с заменой цвета, я понимаю что на всей картинке он заменится, но особо замето не будет я думаю у меня светло серый.
PM MAIL WWW   Вверх
krundetz
Дата 13.4.2010, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: нет
Всего: 69



Код

$img1 = imagecreatefromjpeg( $filename );
$w = imagesx($img1);
$h = imagesy($img1);
$img2 = imagecreatetruecolor( $w, $h );

imagelayereffect( $img2, IMG_EFFECT_REPLACE);
imagefilledrectangle( $img2, 0, 0, $w - 1, $h - 1, 0x7f000000 );

imagecolortransparent( $img1, 0xffffff );
imagecopymerge( $img2, $img1, 0, 0, 0, 0, $w, $h, 100 );

После выполнения этого кода в $img2 будет ссылка на изображение из файла
$filename, в котором все белые пиксели заменены полностью прозрачными.

для работоспособности кода нужна библиотека GD


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
DeMONiZ
Дата 13.4.2010, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



Ого спасибо! Приду домой буду пробовать!
PM MAIL WWW   Вверх
DeMONiZ
Дата 13.4.2010, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



Что то у меня вышло но вышло не то....
Проедоставляю код.
Код

<?
Header("Content-type: image/jpeg");
$filename='th.jpg';
$img1 = imagecreatefromjpeg( $filename );
$w = imagesx($img1);
$h = imagesy($img1);
$img2 = imagecreatetruecolor( $w, $h );

imagelayereffect( $img2, IMG_EFFECT_REPLACE);
imagefilledrectangle( $img2, 0, 0, $w - 1, $h - 1, 0x7f000000 );

imagecolortransparent( $img1, 0xffffff );
imagecopymerge( $img2, $img1, 0, 0, 0, 0, $w, $h, 100 );

imageJpeg($img2);
?>

и конечный результат

Присоединённый файл ( Кол-во скачиваний: 17 )
Присоединённый файл  fon_end.jpeg 2,31 Kb
PM MAIL WWW   Вверх
krundetz
Дата 13.4.2010, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: нет
Всего: 69



DeMONiZ, попробуйте сначала на картинке из одного цвета, подозреваю что просто фон не однородный на вашей картинке


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
DeMONiZ
Дата 13.4.2010, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



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

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  fon.jpeg 2,63 Kb
PM MAIL WWW   Вверх
skyboy
Дата 13.4.2010, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



у тебя сглаживание при рисовании круга приводит к тому, что у тебя не два цвета в картинке, а больше - формируется переход между красным кругом и белым задником из пикселей, скажем так, розового цвета. разного оттенка. потому, фактически заменяя белый цвет на черный, ты никак не взаимодействуешь с вот этим результатом сглаживания.
вообще, идея не ахти.
представь рожу с белками глаз на белом фоне. ты собираешься заменить на черный не только то, что ты считаешь фоном, но и белки глаз?
PM MAIL   Вверх
DeMONiZ
Дата 13.4.2010, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



А проблема мужики не в том в чем вы говорите. Если судить о том что прозрачность у нас есть только в GIF и PNG (Причем тут еще и полупрозрачность.) 
А JPG сроду не поддерживал прозрачность вот и выходит такая бяка!
А вот идея нормальная потому как фон у меня светло серый и белый большие отличия и изменения на выходе быть не должны!

Добавлено через 10 минут и 34 секунды
Код

<?
header ("Content-type: image/png");
$filename='th.png';
$img1 = imagecreatefromPng( $filename );
$w = imagesx($img1);
$h = imagesy($img1);
$img2 = imagecreatetruecolor( $w, $h );

imagelayereffect( $img2, IMG_EFFECT_REPLACE);
imagefilledrectangle( $img2, 0, 0, $w - 1, $h - 1, 0x7f000000 );

imagecolortransparent( $img1, 0xffffff );
imagecopymerge( $img2, $img1, 0, 0, 0, 0, $w, $h, 100 );

imagePng($img2);
?>


Такс с png тоже ни чего не вышло.

Если это сильно плохая идея подскажите другую.
Вот например тут реализовано как то http://gagen.ru/list/ended внизу.
Полоска одна серая друга белая мне надо такой же эффект....
PM MAIL WWW   Вверх
krundetz
Дата 13.4.2010, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: нет
Всего: 69



Цитата(DeMONiZ @  13.4.2010,  17:53 Найти цитируемый пост)
Причем тут еще и полупрозрачность.

вам никто про полупрозрачный не говорил, говорили об оттенках, которые появляются при сглаживание контура

вы попробовали на рисунке одного цвета? попробуйте там все будет так как требуется, а следовательно фон на ваших картинках не однородный.

Цитата(DeMONiZ @  13.4.2010,  17:53 Найти цитируемый пост)
Если это сильно плохая идея подскажите другую.

я вам подсказал, распознавание образов вам в помощь


Это сообщение отредактировал(а) krundetz - 13.4.2010, 20:16


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
DeMONiZ
Дата 15.4.2010, 05:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



Цитата(krundetz @ 12.4.2010,  23:40)
DeMONiZ, попробуйте сделать так чтобы картинки были на прозрачном фоне, а уже потом под них подкладывать фоновое изображение с нужным цветом. Либо можно попробовать сделать замену одного цвета в изображение другим, но при этом этот цвет замениться на всем изображение а не только на фоне. Чтобы этого не происходило необходимо, реализовывать некий алгоритм распознавания фона.

Можно тогда пример на прозрачном фоне?
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0543 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.