Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.01;
Скачать: CL | DM;

Вниз

Bitmap. Mask. не отображается.   Найти похожие ветки 

 
DevilDevil ©   (2008-05-06 11:13) [0]

Непонимание вот в чём... думаю, меня быстро ткнут носом в упущение...

есть TBitmap, устанавливаю ему Transparent, у него появляется Маска. Проверяю, действительно создаётся, действительно PixelFormat = pf1bit:

procedure SaveMask(Bmp: TBitmap);
var
 B: TBitmap;
begin
 B := TBitmap.Create;
 B.Handle := Bmp.MaskHandle;
 B.SaveToFile("Mask.bmp");
 B.Free;
end;

Ставлю перед собой задачу отобразить маску на другом битмапе... вместо маски отображается чёрный прямоугольник, не понимаю, почему.

Что-то типа этого:


MaskDC := CreateCompatibleDC(0{DestBitmap.Canvas.Handle});
try
 SelectObject(MaskDC, Bitmap.MaskHandle);

 BitBlt(DestBitmap.Canvas.Handle, X, Y, R.Width, R.Height,  MaskDC, 0, 0, SRCCOPY);
finally
 DeleteObject(MaskDC);
end;


 
DevilDevil ©   (2008-05-06 11:14) [1]

извиняюсь, с тегами напартачил


 
tesseract ©   (2008-05-06 17:04) [2]


>  B.Handle := Bmp.MaskHandle;
> B.SaveToFile("Mask.bmp");


Странная такая операция присваивания. Тебе надо не handle присваивать, а маску на B.Canvas отрисовать.


 
DevilDevil ©   (2008-05-07 14:19) [3]

> tesseract ©   (06.05.08 17:04) [2]

ты недополнял... но это уже не имеет значения.
Вообще говоря, я так и не узнал, как отображать маску... Но я узнад как отображать битмап с учётом маски (функция MaskBlt), что мне в конечном счёте и нужно было.

Тема закрыта.



Страницы: 1 вся ветка

Текущий архив: 2008.06.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
15-1208327498
palva
2008-04-16 10:31
2008.06.01
Вот как надо на си шарп писать


15-1208255965
Layner
2008-04-15 14:39
2008.06.01
можно ли картой Visa Electron совершать интернет покупки в США?


15-1208641156
NailMan
2008-04-20 01:39
2008.06.01
Как удалить пароль при сетевом доступе и прочие глюки


15-1207024720
snake-as
2008-04-01 08:38
2008.06.01
GSM - шлюз


15-1208803632
No_Dead
2008-04-21 22:47
2008.06.01
Никому не попадался плагин(?) для Word a&#133