0 Members and 1 Guest are viewing this topic.
Можно еще проще: Предыдущий кадр уже присутствует на DC, при вызове функции отрисовки заливать DC не черным, а полупрозрачным черным (см. acFillRect).
ACLBitmapLayer.Canvas при выходе из процедуры
Похоже, любое рисование линий убивает прозрачность, как и CopyRect
Странно, не должно быть такого. Как именно ты делаешь?
BGDib.Canvas.Handle := DC; try acFillRect(BGDib.Canvas, Rect(0, 0, FWidth, FHeight), $40000000);//............................................................................................... BGDib.Canvas.Pen.Width := 1; BGDib.Canvas.Pen.Color := clRed; BGDib.Canvas.PolyLine(Points); // .......................................................... finally// BGDib.Canvas.Handle := 0; end;
BGDib.Canvas.Handle := DC;
acBitBlt(BGDib.Canvas.Handle, DC, BGDib.ClientRect, TPoint.Zero);
ExPainter.BeginPaint(DC).. тут что-то рисуем.ExPainter.EndPaint
Таким образом ты рисуешь не на BGDib, а на DC.
Чтобы точно быть уверенным, можешь сделать так:acFillRect(BGDib.Canvas, Rect(0, 0, FWidth, FHeight), TAlphaColor($40000000));