Главная страница
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.017 c
2-1181990364
Kolan
2007-06-16 14:39
2007.07.08
При копировании в буфер обмена строки портятся, как исправить?


1-1178710981
yaJohn
2007-05-09 15:43
2007.07.08
передача строк между Delphi и C#


1-1178545729
TStas
2007-05-07 17:48
2007.07.08
Как отправить по почте текстовый файл?


2-1181824457
XTD
2007-06-14 16:34
2007.07.08
Хочу проиграть трек с помощью MMAudioPlayer1 в новом потоке (TTh)


1-1178559317
Dmitry_177
2007-05-07 21:35
2007.07.08
Как chm-файлы справки открывать в программе?