Прозрачный растрDelphi , Графика и Игры , BitmapПрозрачный растрАвтор: Павел Пожалуй, это самый простой способ создания прозрачного изображения. Суть его в том, что маска создается автоматически во время выполнения программы, используя значение прозрачного цвета. MaskBitmap := TBitmap.Create; MaskBitmap.Assign(SrcBitmap); MaskBitmap.Mask(FColor); //прозрачный цвет BitBlt(DestBitmap.Canvas.Handle, x, y, SrcBitmap.Width, SrcBitmap.Height, MaskBitmap.Canvas.Handle, 0, 0, SRCAND); BitBlt(DestBitmap.Canvas.Handle, x, y, SrcBitmap.Width, SrcBitmap.Height, SrcBitmap.Canvas.Handle, 0, 0, SRCINVERT); MaskBitmap.Free; Here's a translation of the provided text into Russian: Код-сниппет является частью программы, которая создает прозрачную картинку, применявая маску к оригинальной картинке. Маска генерируется автоматически в реальном времени с использованием значения прозрачного цвета. Вот разбивка на шаги, что каждый раздел делает:
Далее два следующих шага выполняют операции BitBlt, которые копируют части одной картинки в другую. Эти операции используют маску, созданную на шаге 3:
Наконец:
Результатом должно быть изображение ( Возможной альтернативой может быть использование alpha- blending, что позволит создавать прозрачную маску без использования операций BitBlt. Alpha-blending поддерживается многими библиотеками и фреймворками, включая библиотеку Graphics32 Delphi. Вот пример, как это можно сделать с помощью Graphics32:
В этом примере используется Прозрачный растр создается автоматически во время выполнения программы с помощью значения прозрачного цвета, используя функцию BitBlt и класс TBitmap. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |