{Esta dica mostra como criar um efeito degradê em um Canvas qualquer.
Neste caso, estamos utilizando um componente TPaintBox e o evento OnPaint. Dependendo da utilização deste recurso, esta rotina pode ser adaptada para funcionar em um outro componente.}
procedure TForm1.PaintBox1Paint(Sender: TObject);
const
clStart: TColor = clRed;
clEnd: TColor = clBlack;
var
ACanvas: TCanvas;
ARect: TRect;
i : Integer;
rc, gc, bc, h: Integer;
begin
ACanvas := PaintBox1.Canvas;
ARect := PaintBox1.ClientRect;
h := ARect.Bottom - ARect.Top;
{ desenha o degradê }
for i := 0 to (ARect.Bottom - ARect.Top) do
begin
rc := GetRValue(clStart);
gc := GetGValue(clStart);
bc := GetBValue(clStart);
rc := rc + (((GetRValue(clEnd) - rc) * (ARect.Top + i)) div h);
gc := gc + (((GetGValue(clEnd) - gc) * (ARect.Top + i)) div h);
bc := bc + (((GetBValue(clEnd) - bc) * (ARect.Top + i)) div h);
ACanvas.Brush.Style := bsSolid;
ACanvas.Brush.Color := RGB(rc, gc, bc);
ACanvas.FillRect(Rect(ARect.Left, ARect.Top + i, ARect.Right, ARect.Top + i + 1));
end;
end;
Mostrando postagens com marcador Como criar um efeito degradê em um canvas. Mostrar todas as postagens
Mostrando postagens com marcador Como criar um efeito degradê em um canvas. Mostrar todas as postagens
sábado, 17 de outubro de 2009
Assinar:
Postagens (Atom)