Главная страница
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.046 c
3-1094742606
senya
2004-09-09 19:10
2004.10.17
Как подсчитать количество соединений к БД?


14-1096287186
Василий
2004-09-27 16:13
2004.10.17
Импорт из Excel в Delphi7


1-1096560226
Никита
2004-09-30 20:03
2004.10.17
Извлечь цифру из строки


4-1095069536
hooch
2004-09-13 13:58
2004.10.17
доступ к файлу


14-1096005299
MBo
2004-09-24 09:54
2004.10.17
Пятничные задачки. И простые и сложные...