Что нового

Коррекция Gif смайликов

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
В архиве находятся Gif смайлики, я бы хотел убрать у них белый фон (кроме 0xFFFFFF там есть ещё и 0xFEFFFF).

Мне нужно их поместить на полупрозрачное (Layout) окно, но ка видно из примера (в архиве) качество отображения желает оставлять лучшего.

Есть ли вообще инструменты автоматизации таких задач (удаление/замена цветов в Gif'ах)? :scratch:

 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
CreatoR
Инструмент не знаю, но порядок действий можно попробовать такой (в Photoshope):
1. Кликаем внешюю область, если недостаточно, то удерживая Shift кликаем ещё пикселы чтобы добавить к уже выделенной области. Этот пункт ручной
2. Далее пишем экшен, то есть действия чтобы их потом повторить одним кликом. Жмём "Запись действия"
3. Инвертируем цвет, то есть белый становится чёрным.
4. Инвретируем выделение
5. Задать границы выделения, то есть будет выделена граница на краях объекта, например пару пикселей
6. Выбираем гаусово размытие, пару пикселей
7. Завершаем запись экшена
Можно пару раз поэкспериментировать ширину границы и силу размытия, а потом писать экшен. Также сохранение и закрытие тоже можно вписать в экшен. Если в gif используется индексированный цвет, не 256, а к примеру 50, у каждого свой, то ещё добавить пункт переключения в RGB, чтобы размытие сработало, а потом снова в индексированный.
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
AZJIO
Я с фотошопом и ему подобных не дружу особо, у меня кучу времени уйдёт на возню с этим, а хотелось бы как то побыстрее, и полегче :smile:.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
CreatoR, GIF не поддерживает полупрозрачность, поэтому "рубленность" в случае прозрачного фона будет присутствовать всегда. Если хочешь сделать хорошо, то используй APNG или кадровые PNG.

P.S

В Photoshop предложенная выше задача решается с помощью Layer\Matting\... Получится не PNG, конечно, но без белых/черных пикселов по краям.

P.S.S

А еще ты не указал важную деталь - анимированные смайлики или нет.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
CreatoR
Photoshop поддерживает Actions (VBS). Сделав один раз все действия с одной картинкой, потом можно просто запустит скрипт на вкладке Actions и пойти покурить. :smile:

P.S. Скрипт сохраняется в файл, в паке которую вы назначите в настройках Photoshop. Кстати, его можно переписать на Autoit используя COM. ;)
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
CreatoR [?]
Я с фотошопом и ему подобных не дружу особо, у меня кучу времени уйдёт на возню с этим, а хотелось бы как то побыстрее, и полегче
Год назад я бы просто взял и сделал. Они ещё и анимированные. Там если делать с фоном то оно видно будет при несовпадении фона, лучше сделать плавный переход к чёрному, но без фона, тогда на любой тёмной поверхности будет нормально. анимированные я тоже переделывал, но сложнее. С помощью "GIF Movie Gear" конфертировал в FilmStrip (все кадры на одном рисунке) обработал и также импортировал как FilmStrip в "GIF Movie Gear" и сохранил как анимацию gif.
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Yashied [?]
анимированные смайлики или нет
Анимированные, иначе бы не создавал тему с указанием Gif :smile:.

Хорошо тогда вопрос не в тему (но по теме :blum:). Можно ли как то в SetLayeredWindowAttributes указать более одного цвета прозрачности? Тогда можно будет указать ещё и цвета краёв...
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
CreatoR, ты бы лучше привел небольшой пример с Layered окном, а то сдается мне, что ты не в ту сторону смотришь. Делать прозрачность выбиванием цвета не самый лучший способ. Если хочешь сделать хорошо и красиво, то бери PNG-смайлики и анимируй их Timer'ом или в потоке с помощью DLL. Ну или на крайний случай сделай такой дизайн, чтобы он допускал анимацию на непрозрачном фоне, тогда можно и GIF использовать (без прозрачности).
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Yashied [?]
ты бы лучше привел небольшой пример с Layered окном
Так он есть в архиве.

Делать прозрачность выбиванием цвета не самый лучший способ
Мне нужно поместить эти смайлики на полупрозрачное окно (не моё, это окно смайликов скайпа), но при этом сами смайлики не должны быть прозрачными.

бери PNG-смайлики и анимируй их Timer'ом или в потоке с помощью DLL
Не так всё просто, где мне взять такие же смайлики в png? в гугле искал не нашёл ничего лучше чем то, что есть в архиве.

сделай такой дизайн, чтобы он допускал анимацию на непрозрачном фоне
Я использую _GUIResourcePic, у меня анимация работает, но некачественно.
 
Верх