Forum > FPvectorial

Gradients in svg files

(1/1)

pgarcia:
Hi, FPvectorial don't work for svg gradients or is something grong in my code?

procedure TForm1.Button1Click(Sender: TObject);
var
  Vec: TvVectorialDocument;
  page: TvVectorialPage;
  ts: TStringList;
begin
  ts := TStringList.Create();
  ts.Add('<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 1 1" preserveAspectRatio="none">');
  ts.Add('<linearGradient id="g348" gradientUnits="userSpaceOnUse" x1="0%" y1="0%" x2="100%" y2="100%"> ');
  ts.Add('<stop stop-color="#FFFFFF" offset="0"/><stop stop-color="#E3A820" offset="1"/>');
  ts.Add('</linearGradient>  ');
  ts.Add('<rect x="0" y="0" width="1" height="1" fill="url(#g348)" />');
  ts.Add('</svg> ');
  Vec := TvVectorialDocument.Create;
  try
    Image1.Canvas.Brush.Color := clWhite;
    Image1.Canvas.FillRect(0, 0, Image1.Width, Image1.Height);
    vec.ReadFromStrings(ts, vfSVG);
    page := vec.GetCurrentPageAsVectorial;
    page.DrawBackground(image1.canvas);
    page.Render(image1.Canvas, 0, image1.Height, 40, -40);
    image1.Invalidate;
  finally
    Vec.Free;
  end;
end;

This code is called form the onclick of a tbutton and image1 is a TImage.
Thanks for the responses in advance

felipemdc:
Hello, I'm working in supporting gradients, but they are quite complex....

Navigation

[0] Message Index

Go to full version