Прозрачность - это просто
От: Виталий Брусенцев www.airbandits.com/
Дата: 10.03.02 08:08
Оценка: 131 (8) +1
Статья:
Прозрачность — это просто
Автор(ы): Виталий Брусенцев
Дата: 28.04.2001

Рассматриваются вопросы прозрачности и полупрозрачности при работе с
растровой графикой методами GDI. Приведены практические приемы работы с учетом
специфики Windows 95, Windows 98, Windows 2000.


Авторы:
Виталий Брусенцев

Аннотация:
Рассматриваются вопросы прозрачности и полупрозрачности при работе с растровой графикой методами GDI. Приведены практические приемы работы с учетом специфики Windows 95, Windows 98, Windows 2000.
Успехов,
Виталий.
И вот еще в тему вопрос...
От: Tutankhamen Южная Корея www.pocketheroes.net
Дата: 30.05.02 02:14
Оценка:
Как без GDI+ нарисовать Image со страйдом, т.е. Image'а с выравненной длинной буфера строки в DC ? Это вообще возможно ?
With Best Regards, Robert Y. Tarasow
RealTimeTech Inc, Multimedia Team
А полигоны можно вывести прохрачными?
От: rborisov  
Дата: 12.05.02 22:27
Оценка:
Вывод полупрозрачных картинок это хорошо.
А не подскажите как мне вывести полупрозрачный полигон (без GDI+)?
Заранее признателен.
VC
От: PLC  
Дата: 11.03.02 08:08
Оценка:
Действительно полезная статья ;) Для начинающих.
Re: VC
От: peterbes Россия  
Дата: 04.01.03 13:26
Оценка:
Все мы начинающие. Не учаться только дураки. Для меня GDI+ новое и я очень рад таким статьям.Всезнающим предлагаю писать прямо в машинных кодах или при помощи приснопамятной утилиты debug (DOS 1-6.22)
Re: И вот еще в тему вопрос...
От: retalik www.airbandits.com/
Дата: 30.05.02 17:47
Оценка:
Если только создать из этого Image DIB Section высотой в один пиксел и рисовать по линиям. Другого способа я не знаю.
Успехов,
Виталий.
Re: А полигоны можно вывести прохрачными?
От: retalik www.airbandits.com/
Дата: 12.05.02 23:16
Оценка:
Без GDI+... В этом случае многое придется сделать руками. Например, создать DIB Section и заполнить его пикселы 32-битными значениями цветов с альфа-каналом, а затем уже воспользоваться AlphaBlend. При этом отрезки линий, составляющих полигон, придется "рисовать" самостоятельно.
Можно также создать In-Memory HDC, нарисовать в него полигон, а затем уже анализировать полученный растр.
Пример создания такого растра (DIB) есть в демонстрационном проекте к статье.
Советую взглянуть также на функцию RasterAlphaBlend (http://www.rsdn.ru/files/?Functions/rasterab.xml), облегчающую вывод растров, созданных в памяти.
Успехов,
Виталий.
Re: Прозрачность - это просто
От: KA it-knowledge-base.blogspot.com
Дата: 27.10.05 14:33
Оценка:
Ярко-сиреневому цвету и в этот раз не повезло — ссылка на квадратик неправильная
Должна быть — http://www.rsdn.ru/article/gdi/trsimple/transp.gif :
//
#import <windows.bas>
class IWindows9x:protected DOS { private: virtual HANDLE EnumClouds()=0; };
Re[2]: Прозрачность - это просто
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 27.10.05 15:15
Оценка:
Здравствуйте, KA, Вы писали:

KA>Ярко-сиреневому цвету и в этот раз не повезло — ссылка на квадратик неправильная

KA>Должна быть — http://www.rsdn.ru/article/gdi/trsimple/transp.gif :

fixed
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Прозрачность - это просто
От: goto Россия  
Дата: 27.10.05 21:16
Оценка:
Статья-то конечно хорошая, но с какой-то точки зрения она демонстрирует беспомощность GDI. Если нужно нечто большее, чем нарисовать готовый битмап с готовой же альфой (или что-то легко вычисляемое), то лучше пользоваться другими библиотеками.

Мелочные придирки.
— В демо-проекте нужно явно заливать белым фон, т.к. вся демо-графика сделана в расчете на белый фон.
— Иллюстрация режимов 1-битной прозрачности может создать иллюзию, что она (1-бит. прозрачность) не так уж плоха. Опять же из-за того, что исходные картинки сделаны с анти-элайзингом для белого фона и выводятся на белый.
— Ну и Chroma Key'ем пожалуй называют нечто попрактичней и посложнее.
Re: А полигоны можно вывести прохрачными?
От: goto Россия  
Дата: 27.10.05 21:37
Оценка:
Здравствуйте, rborisov, Вы писали:

R>Вывод полупрозрачных картинок это хорошо.

R>А не подскажите как мне вывести полупрозрачный полигон (без GDI+)?
R>Заранее признателен.

Ну если очень нужно выводить сложные вещи, не делая отрисовок примитивов руками, можно завести 2 параллельных конвейера для RGB и для маски в двух DC. В DC для RGB рендерить как обычно. В DC для маски рендерить с расчетом, что, допустим, красная компонента битмапа из этого DC будет маской. Т.е. использовать в этом DC свои Pen'ы, Brush'и и пр. для рисования ими в маске. А потом все это комбинировать после отрисовки. Такие фантазии. Но лучше, дешевле просто использовать другую библиотеку, не GDI.
Re: Прозрачность - это просто
От: phront  
Дата: 14.12.05 09:40
Оценка:
выдержка из мсдн:
Windows 95/98: TransparentBlt contains a memory leak that can exhaust system resources.


наверное не стоит TransparentBlt на 98 использовать
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.