IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Обсуждение программ (http://www.imho.ws/forumdisplay.php?f=3)
-   -   Прозрачность в PNG (http://www.imho.ws/showthread.php?t=91101)

Madchild 17.08.2005 01:25

Прозрачность в PNG
 
Вложений: 2
Есть файл png с розовым фоном (вложение 1). Хочу вставить в него другой png файл (вложение 2).
В Macromedia Fireworks все выглядит хорошо, но в программе, которая использует первый png как иконки, вокруг вставленной картинки отображается розовый фон.
Как я понял, в первом файле розовый фон назначен прозрачным, но во втором файле есть переход от черного к прозрачному на границе рисунка. Видать одна прозрачность накладывается на другую... :idontnow:

Помогите побороть эту напасть.

зы. Немного сумбурно объяснил, но уж как смог. :)

Hatifnatt 17.08.2005 02:29

Вложений: 1
Сделал как понял вроде теперь розового ореола быть не должно.
Если надо объясню как сделал (пока попробую другие варианты).

Madchild 18.08.2005 00:26

Вложений: 1
Зыбыл сказать, что пытаюсь подменить первую иконку... Ну да не вэтом дело.
Hatifnatt
В этом случае рваные края получаются (см на скриншоте). :( Но все равно расскажи, как делал. Может методом научного тыка все-ж добьюсь нормального отображения иконки...

Hatifnatt 18.08.2005 00:58

Вложений: 1
Кривизна происходит из за того, что первая картинка, как ты и говоришь имеет полупрозрачные края, притом PNG24 поддерживает частичную прозрачность, т.е. в фотошпе пикселы полупрозрачны так же как и в его родном формате PSD и при нахожении этой картинки поверх другой происходит смешение серого с розовым, а т.к. программа рассматривает прозрачным только чистый (розовый в данном случае) цвет получается ореол.
Это было затянутое вступление, а теперь к теме.
В фотошопе открываешь обе картинки, с иконкой делаешь следующее:
1 У иконки создаешь еще один слой (ниже картинки), заливаешь его белым, потом склеиваешь слои (Ctrl+E) становится хорошо виден плавный переход от серого к белому цвету.
2 Берешь инструмент волшебная палка, в свойствах убираешь пункт antialiasing (сглаживание) ставишь tolerance на 50 - 200 (подбираешь исходя из результата) и кликаешь где-нибудь в углу на белом цвете. Должен выделится весь белый и часть серых пикселей по краю, чем tolerance больше, тем больше серого будет выделено. Жмешь del, получаешь картинку без частичной прозрачности ее можно смело вставлять на полоску с иконками. Рубленые края получаются из за отсутствия в углах "переходных" серых пикселей, надо либо оставит их либо прерисовать. А вобще как вариант можно вручную Ластиком лишнее удалить (вместо п.2).
Если где непонятно выразился - разъясню.
ЗЫ Если иконка будет использоваться только на белом фоне, то можно оставлять по краю максимум белого ореола.
ЗЗЫ Приложил еще один вариан, попробуй его.

Madchild 18.08.2005 01:28

Вложений: 1
Цитата:

Если иконка будет использоваться только на белом фоне, то можно оставлять по краю максимум белого ореола.
C белым фоном получилось (tolerance 32).
В общем, то что дохтур прописал (пример в скрине). :yees:

Теперь еще один вопрос, коль пошла такая пьянка. :)
Как из PNG файла убрать неиспользуемые цвета? Дело в том, что я затираю старые иконки и впихиваю новые изображения, но вроде в палитре файла старые цвета остаются...

Hatifnatt 18.08.2005 01:39

Цитата:

Madchild:
Как из PNG файла убрать неиспользуемые цвета? Дело в том, что я затираю старые иконки и впихиваю новые изображения, но вроде в палитре файла старые цвета остаются...
Если работать в фотошопе, достаточно легко.
Открываешь файл с ограниченым кол-вом цветов, идешь сюда
Там стоит вот так: Image -> Mode -> Indexed Color
А надо вот как: Image -> Mode -> RGB Color
Т.е. конвертируешь в обычный RGB, а когда сохраняешь, выбираешь Save for Web... и там в настройках выбираешь PNG-8 и количество цветов которое тебя устороит по качеству. Фотошоп сам подберет лучшую палитру.

Madchild 18.08.2005 01:46

Цитата:

Hatifnatt:
выбираешь Save for Web
Хм... Неуверен, что подойдет такой вариант. Эти иконки потом я вставляю в системную dll библиотеку. А есть ли возможность просто что-то типа "убрать неиспользуемые цвета"?

Hatifnatt 18.08.2005 02:03

Цитата:

Madchild:
Хм... Неуверен, что подойдет такой вариант. Эти иконки потом я вставляю в системную dll библиотеку
А ты попробуй, не думаю что должны возникнуть проблемы. Save for Web совсем не значит что этот файл будет чем-то отличаться от стандарта.
Цитата:

Madchild:
А есть ли возможность просто что-то типа "убрать неиспользуемые цвета"?
Тебе скорее всего нужно не просто убрать неиспользуемые цвета, а заменит их на подходящие, при сохранении для веба как раз это и происходит. Но можно сделать так: делаешь те же самые действия что и в посте выше, затем снова выбираешь пункт Indexed Color, появится диалог который покажет палитру картинки (которую составит фотошоп) там можно увеличит или уменьшить кол-во цветов. А потом сохраняешь как обычно. Но я не вижу не малейшего смысла так делать PNG он и есть PNG и от того как его сохранять ИМХО ничего не изменится.

ЗЫ Вопрос а как ты сейчас сохраняешь?

Madchild 18.08.2005 02:07

Цитата:

Hatifnatt:
Вопрос а как ты сейчас сохраняешь?
File->Save as. Потом выскакивает табличка опций PNG (none|interlased). Выбираю, естественно none.
Все.

Hatifnatt 18.08.2005 02:20

Т.е. сначала открываешь оригинал потом заменяешь там иконку на нужную и сохраняешь. А интересно как же ты редактируешь, фотошоп же не дает редактировать в Indexed Color? Ну вобщем я свой вариант предложил выше, но помоему разницы как сохранять нет.
ЗЫ Все-таки попробуй (если не пробовал) засунуть туда сохраненную для веба картинку.

Madchild 18.08.2005 02:30

Цитата:

Hatifnatt:
как же ты редактируешь, фотошоп же не дает редактировать в Indexed Color?
:biggrin: Выделяю область, из меню edit->fill. Заливаю цветом фона, потом на это место вставляю другую иконку. :) Вроде получается. :)
Цитата:

Hatifnatt:
Все-таки попробуй (если не пробовал) засунуть туда сохраненную для веба картинку.
Завтра обязательно попробую. Самому интересно. Разница между обычной и сохраненной для Web картинка в 2кб (это только 3 иконки сменил) для меня существенна.

Огромное спасибо за помощь. :yees:

Madchild 19.08.2005 02:44

Вложений: 1
Что-ж, попробовал и остановился на варианте "for Web". Визуально разницы не заметил. :yees:
Вот, что получилось:


Часовой пояс GMT +4, время: 06:45.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.