Перейти к содержимому

  • Войти / Регистрация

Фото

Обработка изображений


  • Чтобы отвечать, сперва войдите на форум
2 ответов в теме

#1 Ajir

Опубликовано 22 Январь 2013 - 02:37  

Ajir

    Продвинутый активист

  • Завсегдатай
  • ФишкаФишкаФишка
  • 33
  • Сообщений: 1 031

Тема большая, и может быть и нуждается в выделении нескольких. Пока мой вопрос.

Все, что связано с Прозрачностью, альфа-слоем и связанными вещами.

Экспериментирую с виндовской программной графикой. Недавно наконец написал функцию, которая на экран моей программы выводит графический файл многих распространенных форматов (конкретно проверено для jpg gif png и конечно банального bmp ). Выяснилось что даже без моих особых усилий часть картинок она выводит круто - с учетом фона, а часть топором. Вот скрин опыта.

http://s019.radikal....6d81bbeb4c7.jpg

На нем все желтое - условный фон. Картинки крестьянина и лешего выводятся правильно как я их ни мучаю (растягиваю нормально и непотребно, отражаю в зеркале) а вот богомол - топором. Очевидно разница в Файлах.

Крестьяне и лешие из kb2 взяты с http://www.alex-worl...kb2/02-army.htm , богомол "четвертые герои" с http://dreamworlds.r...ov-priroda.html

 

Собственно вопросы.

1_Чем отличаются файлы? То есть, понятно что "правильные" это малоцветный gif а "неправильный" - обычный jpg. Как уже вроде понял, в jpg Из-за максимальной пожатости в принципе нет поддержки прозрачности, а в gif-ах может и быть, но чем (прога) и как это просмотреть для произвольной картинки?

2_ Как и чем картинку богомола (произвольную где с точки зрения человека есть ФОН, т.е. скажем пока для простоты как там - что-то осмысленной на чисто черном фоне) переделать в прозрачную?

 

 

Добавка. Если кто знает, есть ли форум, где лучше чем здесь учиться основам обработки изображений?

 

 

 

 

Разобрался. Если кому интересно

 

 

Spoiler

Изменено: SeaMonster, 22 Январь 2013 - 02:39

  • 0

#2 Denis^2

Опубликовано 29 Январь 2013 - 07:53  

Denis^2

    Почетный посетитель

  • Завсегдатай
  • ФишкаФишка
  • 59
  • Сообщений: 162
  • Откуда:Moscow

но чем (прога) и как это просмотреть для произвольной картинки?

 

Из бесплатных, например, Farstone Image Viewer.

 

Как и чем картинку богомола (произвольную где с точки зрения человека есть ФОН, т.е. скажем пока для простоты как там - что-то осмысленной на чисто черном фоне) переделать в прозрачную?

 

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


  • 0

#3 Ajir

Опубликовано 29 Январь 2013 - 13:14  

Ajir

    Продвинутый активист

  • Завсегдатай
  • ФишкаФишкаФишка
  • 33
  • Сообщений: 1 031

Из бесплатных, например, Farstone Image Viewer.

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

1_ И во что там именно ткнуть, чтоб ыпросмотреть альфа-слой или увидеть, что его нет? У меня именно этот пакет уже давно стоит.

 

2_ Вот это уточни. Вообще так. Я конечно и сам додумался, что можно для любой картинки проверять "если это цвет фона, программа не рисует, иначе рисует" и первые картинки поверх фона вывел именно так. НО!!! Если это закодировать "в лоб", то чтение каждого пикселя картинки типа getpixel, проверка его цвета и рисование каждого пикселя - пункты чтение/рисование создают Тормоза (именно для - один раз выыести богомола 600 на 600 незаметно, но что посерьезнее или протестировать Время для многократного вывода богомола - разница видна). Потому очень обрадовался, когда научился "родную" прозрачность. Сейчас уже вижу, как обработать каждый пиксель быстро, и тут вопрос - это все равно несколько медленнее, чем прозрачный png, зато файл не png а jpg гораздо меньше...



И еще. Так как в общем освоил нормальную раскодировку, то сейчас нетрудно Обработать прямо в своем коде по схеме. имеем r,g,b создамем новые цвета. Так легко - сделать цернобелым. сделать карсным/зеленым/синим. Чуть подумав (надо Правильно написать яркость) так перекрасить в оттенки любого цвета.

Вопрос - что еще так красивого можно сделать?


  • 0




Привет!

Насколько мы поняли, вы используете блокировщик рекламы в вашем браузере. Скорее всего, это AdBlock или AdBlock Plus.

Учитывая, сколько агрессивной рекламы можно встретить на различных сайтах, это, возможно, и оправданно.

Однако Riot Pixels — пока ещё небольшой сайт, мы существуем в основном на деньги, получаемые от различных рекламодателей. Пользователей же с установленным AB/ABP на Riot Pixels сейчас — более 30%. Это очень много.

У блокировщиков рекламы есть еще одно плохое свойство — у вас может «поехать» дизайн или перестанут показываться скриншоты.

Мы не хотим предпринимать активных действий в отношении блокировщиков рекламы (например, закрывать контент) — это не по-человечески. Однако и безучастно смотреть никак не можем. Поэтому у нас к вам большая просьба — пожалуйста, внесите Riot Pixels в «белый список» вашего блокировщика. Это поможет нам и дальше жить и развиваться, а вам ничего не будет стоить.

Спасибо!
Команда Riot Pixels.