Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];

Вниз

Неправильная отрисовка прозрачности в 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 вся ветка

Форум: "KOL";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.041 c
3-1175946319
boristt
2007-04-07 15:45
2007.07.08
Перехват ошибки от MSSQL Express 2005 (dbExpress)


5-1156231502
nali
2006-08-22 11:25
2007.07.08
Сохранение и загрузка свойства в файл в рантайме


4-1170255120
tytus
2007-01-31 17:52
2007.07.08
Как получить доступ к контролам другого окна?


4-1169652134
Humorist
2007-01-24 18:22
2007.07.08
как получить изображение окна, которое скрыто другими


4-1170172330
GrayFace
2007-01-30 18:52
2007.07.08
Сравнение имен файлов как в Explorer - чтобы 1 шел перед 100





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский