fpvc_mainform.pas 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. unit fpvc_mainform;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  6. EditBtn, ExtCtrls;
  7. type
  8. { TformVectorialConverter }
  9. TformVectorialConverter = class(TForm)
  10. buttonVisualize: TButton;
  11. buttonConvert: TButton;
  12. buttonQuit: TButton;
  13. editInput: TFileNameEdit;
  14. editOutput: TFileNameEdit;
  15. imagePreview: TImage;
  16. Label1: TLabel;
  17. Label2: TLabel;
  18. Label3: TLabel;
  19. procedure buttonConvertClick(Sender: TObject);
  20. procedure buttonQuitClick(Sender: TObject);
  21. procedure buttonVisualizeClick(Sender: TObject);
  22. private
  23. { private declarations }
  24. function CheckInput(): Boolean;
  25. public
  26. { public declarations }
  27. end;
  28. var
  29. formVectorialConverter: TformVectorialConverter;
  30. implementation
  31. uses
  32. fpvectorial, cdrvectorialreader, svgvectorialwriter, pdfvectorialreader,
  33. fpvtocanvas;
  34. {$R *.lfm}
  35. { TformVectorialConverter }
  36. procedure TformVectorialConverter.buttonQuitClick(Sender: TObject);
  37. begin
  38. Close;
  39. end;
  40. procedure TformVectorialConverter.buttonVisualizeClick(Sender: TObject);
  41. var
  42. Vec: TvVectorialDocument;
  43. begin
  44. // First check the in input
  45. if not CheckInput() then Exit;
  46. Vec := TvVectorialDocument.Create;
  47. try
  48. Vec.ReadFromFile(editInput.FileName, vfPDF);
  49. imagePreview.Canvas.Brush.Color := clWhite;
  50. imagePreview.Canvas.FillRect(0, 0, imagePreview.Width, imagePreview.Height);
  51. DrawFPVectorialToCanvas(Vec, imagePreview.Canvas);
  52. finally
  53. Vec.Free;
  54. end;
  55. end;
  56. function TformVectorialConverter.CheckInput(): Boolean;
  57. begin
  58. // todo...
  59. end;
  60. procedure TformVectorialConverter.buttonConvertClick(Sender: TObject);
  61. var
  62. Vec: TvVectorialDocument;
  63. lFormat: TvVectorialFormat;
  64. begin
  65. // First check the in input
  66. if not CheckInput() then Exit;
  67. // Now convert
  68. Vec := TvVectorialDocument.Create;
  69. try
  70. lFormat := TvVectorialDocument.GetFormatFromExtension(editInput.FileName);
  71. Vec.ReadFromFile(editInput.FileName, lFormat);
  72. lFormat := TvVectorialDocument.GetFormatFromExtension(editOutPut.FileName);
  73. Vec.WriteToFile(editOutPut.FileName, lFormat);
  74. finally
  75. Vec.Free;
  76. end;
  77. end;
  78. end.