Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TImgView32 и слои [D7, WinXP]


X-Disa ©   (2004-09-04 10:10:00) 

Доброго времени суток.
Есть TImgView32. У него есть свойство Layers.
Я пробую получить битмап из заданного слоя так:

Bitmap:=TBitmapLayer(ImgView321.Layers.Items[i]).Bitmap;
Все получаеться нормально, но есть проблема.
После этого я пишу:

Bitmap.Canvas.MoveTo(X,Y);
Bitmap.Canvas.Pen.Color:=clred;
Bitmap.Canvas.LineTo(X1,Y1);

Линия рисуется, но вместо красной линии я получаю линию со 100% прозрачностью. Сквозь нее нижележащий слой видно. Что делать?


Mihey_temporary   (2004-09-06 20:27:00) [1]

Но почему у тебя вообще такое было? Очевидно, кроме того кода, что ты привёл, было что-то ещё.


X-Disa   (2004-09-06 08:12:00) [2]

Я нашел решение. Бтимапу надо делать ResetAlpha, и тогда  все нормально.


Mihey_temporary   (2004-09-04 17:20:00) [3]

Весьма интересно. У меня получалось рисовать таким способом, всё шло нормально, но на выходе из проекта вылетала AV. Где-то я читал, что канву в Graphic32 вообще не советуют использовать и что она оставлена для проформы. В твоём случае если нужно выполнить именно тот код, который ты указал, можно обойтись без канвы, использовать метод Line.


Наверх

Титульная страница Поиск, карта сайта Написать письмо