Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.08;
Скачать: CL | DM;

Вниз

Неправильная отрисовка прозрачности в KOLPng   Найти похожие ветки 

 
KingMidas   (2006-11-28 16:44) [0]

Отступление: Делаю программу с использованием KOL для просмотра скинов к CORElet"у MV (mediaviewer.motofan.ru). Пользуясь случаем хочу поблагодарить В. Кладова и все KOL community за KOL&MCK !

Задача: Мне надо выводить в программе PNG файлы с прозрачностью. Но она (прозрачность) может быть разной.
Например: "Цвет - Индекс: 0" (с маской), "Альфа-канал"
Собственно проблема: KOLPng не всегда правильно отображает файлы с прозр. и маской: если на изображении внутри маски есть цвет совпадающий с цветом прозрач., то он (внутри маски) тоже становится прозрачным. Пробовал использовать KOLGraphic, но не разобрался как же вывести png с прозрачностью. Сейчас единственный способ правильно  вывести любые файлы это использовать GDI+ (но не хочется исп-ть из-за того что его нет в Win9x). Кто-нибудь может подсказать:
В чем проблема в KOLPng? Или же другую библиотеку к-я бы правильно отрисовывала любые PNG ?
Заранее большое спасибо за ответы.


 
Barloggg   (2006-11-28 16:49) [1]

хи, а ведь точно. спецификация PNG имеет полноценный альфа канал.

ну, надо полагать не та функция.

ой. момент. прочел еще раз.
все правильно.

маска подразумевает цветовой ключ. и вариантов нет.
хотит частичную прозрачность? делайте маску адекватную.
маска как раз вырезает дырки. на то она и маска.


 
KingMidas   (2006-11-28 17:00) [2]

Barloggg, спасибо за ответ, но как вытащить маску из таких "непростых" png (GDI+, IrFanView)
Если можно приведи пример, пожалуйста!


 
KingMidas   (2006-11-28 17:03) [3]

+ В скобках проги к-ые могут вытащить маску


 
KingMidas   (2006-11-28 17:04) [4]

+ В скобках проги к-ые могут вытащить маску


 
Vladimir Kladov   (2006-11-28 21:09) [5]

Не знаю как в GDI+ но в моем KOLPng есть AlphaScanline. Руками, но можно вытащить. А дальше как хотите. Если через OpenGL например, то можно в качестве канала A замиксить. Через обычный GDI не знаю, c Layers не работал.


 
Alex3   (2006-11-29 12:07) [6]

>KingMidas + В скобках проги к-ые могут вытащить маску
качай с этой страницы
http://www.3a-soft.com/pgr1.php?pg=amask


 
KingMidas   (2006-12-01 13:58) [7]

Vladimir Kladov, а KOLPng разрабатывался для использования с заменой системных библиотек (SysDcu) ? Со стандартными он НЕпрозрачные файлы показывает прозрачными.
Еще обнаружил, что время от времени в одних и тех же файлах то показывает прозрачность, то нет...


 
Sapersky   (2006-12-01 17:39) [8]

Есть функция AlphaBlend, которая выводит 32-битный битмап с учётом альфа-канала. Использует premulted alpha, т.е. цвета нужно заранее умножить на альфу.
Есть AlphaPut/MMXAlphaPut из SpriteUtils.


 
Barloggg   (2006-12-04 16:21) [9]

вообще-то маски в png файлах нет.
во всяком случае их нет в таком понимании.
есть альфа-канал для каждого пикселя.



Страницы: 1 вся ветка

Текущий архив: 2007.07.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
2-1182017641
NervoVred
2007-06-16 22:14
2007.07.08
Как передать программе имя открываемого файла?


15-1181237054
vch
2007-06-07 21:24
2007.07.08
В два раза больше - можно?


15-1180990464
ProgRAMmer Dimonych
2007-06-05 00:54
2007.07.08
Один из самых часто задаваемых вопросов, наверное


2-1181826035
Wait
2007-06-14 17:00
2007.07.08
Обмен данными


15-1180611153
TUser
2007-05-31 15:32
2007.07.08
Очередной шпиёнский камень