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

Вниз

Вот такая странность замечается с KOL   Найти похожие ветки 

 
Delphi5.01 ©   (2004-04-10 14:18) [0]

Доброе время суток!
Вот такая странность замечается с KOL:
Если я один раз вывел изображение на экран с свойством TransparentColor=clLime, все ОК, но после того как я изменю картинку он выносит на экран старый рисунок (а более правильно старый силуэт). Чтобы картина стала ясней вот урл на котором я разместил скриншоты.

http://gesoft.h12.ru/kol/

Спасибо за помощь


 
miek ©   (2004-04-10 16:14) [1]

Ты с ума сошел - такие огромные скриншоты класть? И вообще, лучше код покажи, яснее будет.


 
Avenger[NhT] ©   (2004-04-10 17:38) [2]

код кидай, посмотрим!


 
Delphi5.01 ©   (2004-04-10 20:37) [3]

А вот и код:
...
   var TransparentColor: Integer;
...
 begin
...
   SrcBitMap.Draw(BufferBitMap1.Canvas.Handle,0,0);

   FillRGN(BufferBitMap1.Canvas.Handle,RGN,BRUSH);

   BkGround.Draw(BufferBitMap2.Canvas.Handle,0,0);

   TransparentColor:=BufferBitMap1.Canvas.Pixels[0,0];

   BufferBitMap1.DrawTransparent(BufferBitMap2.Canvas.Handle,0,0,TransparentColor);

   BufferBitMap2.Draw(DestCanvas.Handle,0,0);
...
Проблема в следующем, почему-то при вызове этой функции в первые с одним значением RGN все работает, но при вызове этой же функции при другом значении, несмотря на то что в BufferBitMap1 рисунок правильный, при выводе его на экран, вместо TransparentDraw он выводит на экран только ту часть BufferBitMap1 которая была в первой ситуации (при первом вызове).


 
Delphi5.01 ©   (2004-04-11 08:10) [4]

У меня появилось подозрение что после одного TransparentDraw-а этот Битмап сохраняет маску, ну а после его изменения Битмапа маска не изменяется! :-( Если я прав, то пожалуйста объясните почему и как решить проблему?


 
Delphi5.01 ©   (2004-04-11 08:20) [5]

УРА!!!
Я оказался правым, битмап по не известной причине сохраняет старую маску. Самым банальным решением является, создание BufferBitMap* при каждом использовании заново. Может кто посоветует более быстрый вариант?



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

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

Наверх




Память: 0.48 MB
Время: 0.044 c
3-1095838562
rashad
2004-09-22 11:36
2004.10.17
How do I select


14-1096463530
DSKalugin
2004-09-29 17:12
2004.10.17
MS SQL vs FireBird


1-1096668687
denkop
2004-10-02 02:11
2004.10.17
Работа с памятью


3-1095725187
ДОнской
2004-09-21 04:06
2004.10.17
Операция недопустима в данном контексте - ado


1-1096912810
AdmeraL
2004-10-04 22:00
2004.10.17
Copyfile