FastReport_2022_VCL/LibD28/frxExportImageDialog.pas

103 lines
2.6 KiB
ObjectPascal
Raw Normal View History

2024-01-01 16:13:08 +01:00
{******************************************}
{ }
{ FastReport VCL }
{ Picture Export Filters }
{ }
{ Copyright (c) 1998-2021 }
{ by Fast Reports Inc. }
{ }
{******************************************}
unit frxExportImageDialog;
interface
{$I frx.inc}
uses
{$IFNDEF FPC}
Windows, Messages,
{$ELSE}
{$ENDIF}
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, frxExportBaseDialog, ComCtrls
{$IFDEF Delphi6}
, Variants
{$ENDIF};
type
TfrxIMGExportDialog = class(TfrxBaseExportDialog)
CropPage: TCheckBox;
Label2: TLabel;
Quality: TEdit;
Mono: TCheckBox;
Label1: TLabel;
Resolution: TEdit;
SeparateCB: TCheckBox;
private
FFilter: TfrxBaseDialogExportFilter;
procedure SetFilter(const Value: TfrxBaseDialogExportFilter);
protected
procedure InitControlsFromFilter(ExportFilter: TfrxBaseDialogExportFilter); override;
procedure InitFilterFromDialog(ExportFilter: TfrxBaseDialogExportFilter); override;
public
property Filter: TfrxBaseDialogExportFilter read FFilter write SetFilter;
end;
implementation
uses
frxRes, frxrcExports, frxExportImage;
{$R *.dfm}
{ TfrxIMGExportDialog }
procedure TfrxIMGExportDialog.InitControlsFromFilter(
ExportFilter: TfrxBaseDialogExportFilter);
begin
inherited;
with TfrxCustomImageExport(ExportFilter) do
begin
Filter := TfrxCustomImageExport(ExportFilter);
Quality.Text := IntToStr(JPEGQuality);
CropPage.Checked := CropImages;
Mono.Checked := Monochrome;
Quality.Enabled := ExportFilter is TfrxJPEGExport;
Mono.Enabled := {$IFDEF FPC}True{$ELSE}not (ExportFilter is TfrxGIFExport){$ENDIF};
Self.Resolution.Text := IntToStr(Resolution);
if SlaveExport then
begin
SeparateCB.Checked := False;
SeparateCB.Visible := False;
end
else
SeparateCB.Checked := SeparateFiles;
end;
end;
procedure TfrxIMGExportDialog.InitFilterFromDialog(
ExportFilter: TfrxBaseDialogExportFilter);
begin
inherited;
with TfrxCustomImageExport(ExportFilter) do
begin
JPEGQuality := StrToInt(Quality.Text);
CropImages := CropPage.Checked;
Monochrome := Mono.Checked;
Resolution := StrToInt(Self.Resolution.Text);
SeparateFiles := SeparateCB.Checked;
end;
end;
procedure TfrxIMGExportDialog.SetFilter(const Value: TfrxBaseDialogExportFilter);
begin
FFilter := Value;
// SaveDialog1.Filter := FFilter.FilterDesc;
// SaveDialog1.DefaultExt := FFilter.DefaultExt;
end;
end.