frm_setpic.pas

来自「delphi语言开发的矢量图形处理对象」· PAS 代码 · 共 107 行

PAS
107
字号
unit frm_setPic;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons, ExtDlgs;

type
  TfrmSetPic = class(TForm)
    GroupBox1: TGroupBox;
    edtWidth: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    edtHeight: TEdit;
    Label3: TLabel;
    pnlBk: TPanel;
    Label4: TLabel;
    pnlFore: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    dlgBk: TColorDialog;
    Button1: TButton;
    Button2: TButton;
    GroupBox2: TGroupBox;
    Bevel1: TBevel;
    Image1: TImage;
    Edit1: TEdit;
    ComboBox1: TComboBox;
    Label5: TLabel;
    SpeedButton3: TSpeedButton;
    OpenPictureDialog1: TOpenPictureDialog;
    CheckBox1: TCheckBox;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure edtWidthKeyPress(Sender: TObject; var Key: Char);
    procedure Edit1Change(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    sFilePic:string;
  end;

var
  frmSetPic: TfrmSetPic;

implementation

{$R *.dfm}

procedure TfrmSetPic.SpeedButton1Click(Sender: TObject);
begin
  dlgBk.Color :=pnlBk.Color;
  if dlgBk.Execute then
  pnlBk.Color :=dlgBk.Color;
end;

procedure TfrmSetPic.SpeedButton2Click(Sender: TObject);
begin
  dlgBk.Color :=pnlFore.Color;
  if dlgBk.Execute then
  pnlFore.Color :=dlgBk.Color;
end;

procedure TfrmSetPic.edtWidthKeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9',#8]) then
  key:=#0;
end;

procedure TfrmSetPic.Edit1Change(Sender: TObject);
begin
  if trim(edit1.Text) ='' then
  begin
    sFilePic:='';
    image1.Picture :=nil;
  end;
end;

procedure TfrmSetPic.SpeedButton3Click(Sender: TObject);
var
  fileExt:string;
begin
  if openPictureDialog1.Execute then
  begin
    sFilePic:=openPictureDialog1.FileName;
    image1.Picture.LoadFromFile(openPictureDialog1.FileName);
    fileExt:=LowerCase(extractfileExt(sFilePic));
    if fileExt='.ico' then
    edit1.Text  :='(icoImage)';
    if fileExt='.bmp' then
    edit1.Text  :='(bmpImage)';
    if (fileExt='.jpg') or (fileExt='.jpeg') then
    edit1.Text  :='(JpegImage)';
  end;
end;

procedure TfrmSetPic.FormCreate(Sender: TObject);
begin
  sFilePic:='';
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?