Вводные данные
Lazarus 2.0.0
ОС в данный момент Win7 но планируется кроссплатформенность
пишу компонент на котором отрисовывается и картинка png с альфаканалом и текст (методом textout) и вся проблема заключается в том что:
1 если рисовать без буфера прямо на канве компонента все рисуется как мне нужно, но жутко мерцает
- Код: Выделить всё
Canvas.Brush.Style:=bsSolid;
canvas.fillrect(Canvas.ClipRect);
if Assigned(FBackPicture) then
Canvas.CopyRect(slidebackrect,FBackPicture.Bitmap.Canvas,rect);
Canvas.Pen.Color:=clBlack;
Canvas.Pen.Style:=psSolid;
Canvas.Brush.Style:=bsClear;
Canvas.TextOut(2,10,'Текст');
2 если рисовать с буфером но при pixelformat:=pf32bit png отрисовывается с прозрачностью а текст не рисуется вообще
рисую приблизительно так:
- Код: Выделить всё
bufferbmp.Canvas.Brush.Style:=bsSolid;
bufferbmp.canvas.fillrect(Canvas.ClipRect);
if Assigned(FBackPicture) then
bufferbmp.Canvas.CopyRect(slidebackrect,FBackPicture.Bitmap.Canvas,rect);
bufferbmp.Canvas.Pen.Color:=clBlack;
bufferbmp.Canvas.Pen.Style:=psSolid;
bufferbmp.Canvas.Brush.Style:=bsClear;
bufferbmp.Canvas.TextOut(2,10,'Текст');
Canvas.CopyRect(slideBackrect,bufferbmp.Canvas,rect);
3 если рисовать с буфером но при pixelformat:=pf24bit все отрисовывается правильно, но без прозрачности