Главная страница
    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.218 c
4-1169645797
PVN
2007-01-24 16:36
2007.07.08
Как узнать, какая раскладка клавы в данный момент активна?


2-1181729900
antid
2007-06-13 14:18
2007.07.08
помощь нуубу


2-1181990364
Kolan
2007-06-16 14:39
2007.07.08
При копировании в буфер обмена строки портятся, как исправить?


15-1181268706
Slider007
2007-06-08 06:11
2007.07.08
С днем рождения ! 8 июня 2007 пятниццо


15-1181287515
balepa
2007-06-08 11:25
2007.07.08
Че то на RSDN зайти не могу





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский