在好例子网,分享、交流、成长!
您当前所在位置:首页Pascal 开发实例Delphi数据库编程 → 图片裁剪缩小工具

图片裁剪缩小工具

Delphi数据库编程

下载此实例
  • 开发语言:Pascal
  • 实例大小:1.22M
  • 下载次数:17
  • 浏览次数:88
  • 发布时间:2022-02-20
  • 实例类别:Delphi数据库编程
  • 发 布 人:明丰电子
  • 文件格式:.zip
  • 所需积分:1
 相关标签: 小工具 工具 缩小 图片

实例介绍

【实例简介】裁剪指定大小图片
【实例截图】from clipboard
【核心代码】unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls,ActiveX,ComObj,ShlObj,FileCtrl, ExtDlgs;
const
  SELDIRHELP = 1000;
type
  TForm1 = class(TForm)
    Image2: TImage;
    Image1: TImage;
    Bevel1: TBevel;
    Panel1: TPanel;
    ButtonExit: TButton;
    Button_OK: TButton;
    GroupBox2: TGroupBox;
    EditCut_W: TEdit;
    EditCut_H: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    ButtonCourceDir0: TButton;
    ListBox1: TListBox;
    Label2: TLabel;
    GroupBox4: TGroupBox;
    Button5: TButton;
    Button3: TButton;
    Button6: TButton;
    Button1: TButton;
    Button4: TButton;
    Button2: TButton;
    GroupBox6: TGroupBox;
    GroupBox5: TGroupBox;
    Label5: TLabel;
    Label6: TLabel;
    EditCutW: TEdit;
    EditCutH: TEdit;
    Button_SETOK: TButton;
    ButtonDirCut: TButton;
    EditCutDir: TEdit;
    Label8: TLabel;
    Label7: TLabel;
    EditEXE: TEdit;
    ButtonEXE: TButton;
    Label9: TLabel;
    EditSourceDir: TEdit;
    Button1dirCource: TButton;
    Button12: TButton;
    Image3: TImage;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    GroupBox7: TGroupBox;
    Image4: TImage;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    LabelVer: TLabel;
    LabelDate: TLabel;
    Memo1: TMemo;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    ListBox2: TListBox;
    Image5: TImage;
    Image6: TImage;
    OpenPictureDialog1: TOpenPictureDialog;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button_OKClick(Sender: TObject);
    procedure ButtonExitClick(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button_SETOKClick(Sender: TObject);
    procedure EditCutWExit(Sender: TObject);
    procedure EditCutHExit(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button1dirCourceClick(Sender: TObject);
    procedure ButtonDirCutClick(Sender: TObject);
    procedure ButtonEXEClick(Sender: TObject);
    procedure ButtonCourceDir0Click(Sender: TObject);
    procedure Edit1DblClick(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure ListBox1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure EditCut_WExit(Sender: TObject);
    procedure EditCut_HExit(Sender: TObject);
    procedure ListBox2Click(Sender: TObject);
    procedure Image5Click(Sender: TObject);
    procedure Image6Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  CW, CH : integer;     // 原文件宽和高
  W, H : integer;     // 裁剪文件宽和高
  Wstr, Hstr : string;     // 裁剪文件宽和高字符型
  TB,LB,WB,HB : integer; //裁剪框TOP Left W H
  SourceDir :string;           //原图片路径
  CutDir:string;              //剪后图片路径
  EXEDir :string;             //  调用程序目录
  EXEDirFlie00 :string;             //  调用程序目录和文件
  EXE01    :string;               //是否运行EXE
  Cut01    :string;               //是否同名

  F:TextFile;
  SearchRec:TSearchRec;          //显示文件时用
  Found:integer;                 // 显示文件时用
implementation

function Searchfile(path: string; ExtensionName: string): TStringList;   //显示目录文件函数
var
  SearchRec: TSearchRec;
  found: integer;
begin
  Result := TStringList.Create;
  found := FindFirst(path '\' ExtensionName , faAnyFile, SearchRec);
  while found = 0 do
  begin
    if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') and
      (SearchRec.Attr <> faDirectory) then
      Result.Add(SearchRec.Name);
    found := FindNext(SearchRec);
  end;
  FindClose(SearchRec);
end;

function GetApplicationVersion:String;  // Added  取得程序版本号
var FileName:String; 
   InfoSize,Wnd:DWORD; 
   VerBuf:Pointer; 
   VerInfo:^VS_FIXEDFILEINFO; 
 begin 
 Result:='0.0.0.0';
 FileName:=Application.ExeName; 
 InfoSize:=GetFileVersionInfoSize(PChar(FileName),Wnd); 
 if InfoSize<>0 then 
 begin 
   GetMem(VerBuf,InfoSize); 
   try 
     if GetFileVersionInfo(PChar(FileName),Wnd,InfoSize,VerBuf) then
     begin
       VerInfo:=nil;
       VerQueryValue(VerBuf,'\',Pointer(VerInfo),Wnd); 
       if VerInfo<>nil then Result:=Format('%d.%d.%d.%d',[VerInfo^.dwFileVersionMS shr 16,
                                                          VerInfo^.dwFileVersionMS and $0000ffff,
                                                          VerInfo^.dwFileVersionLS shr 16,
                                                          VerInfo^.dwFileVersionLS and  $0000ffff]);
     end; 
   finally
     FreeMem(VerBuf,InfoSize);
   end; 
 end;
 end;

  //获取文件修改时间


function filectime(filename:string):tdatetime;
 var
      vSearchRec:   TSearchRec;
      LocalFileTime:   TFileTime;
      I:   Integer;
  begin   
      if   FindFirst(filename,   faAnyFile,   vSearchRec)   =   0   then

      FileTimeToLocalFileTime(vSearchRec.FindData.ftLastWriteTime,   LocalFileTime);
      FileTimeToDosDateTime(LocalFileTime,   LongRec(I).Hi,   LongRec(I).Lo);
      FindClose(vSearchRec);
      result:=FileDateToDateTime(I);
end;

function ListRenovate(EditDir:string):string;           //列表刷新
begin
  Form1.Edit1.text:=EditDir;
  Form1.ListBox1.Clear;
  Found:=FindFirst(EditDir '\*.JPG',faAnyFile,SearchRec);
  while    Found=0    do
    begin
      if (SearchRec.Name<>'.')  and (SearchRec.Name<>'..')and(SearchRec.Attr<>faDirectory)then
              Form1.ListBox1.Items.Add(SearchRec.Name);Found:=FindNext(SearchRec);
    end;
  FindClose(SearchRec);
end;

function CutPane(PicW,PicH :integer) :integer;           //裁剪框大小及位置
var
  HW , PicHPicW :integer;
begin
  if PicW > PicH then
  begin
    Form1.image1.left:=8;
    Form1.image1.width:= 720;
    Form1.image1.Height:= Form1.image1.width * PicH div PicW ;
    Form1.image1.top:=(Form1.ClientHeight-Form1.image1.Height) div 2 ;
  end else begin
    Form1.image1.top:= 8;
    Form1.image1.Height:= 720;
    Form1.image1.width:= Form1.image1.Height * PicW div PicH  ;
    Form1.image1.left:=(Form1.Clientwidth -Form1.panel1.width-Form1.image1.width) div 2 ;
  end;

    HW:= H div W;
    PicHPicW:= PicH div PicW ;                      // * 1000 div 1000 (PicW > PicH) or (
  if 1 >= 2 then
  begin
    Form1.Bevel1.Height:= Form1.image1.Height - 16 ;
    Form1.Bevel1.Width := Form1.Bevel1.Height * W div H ;
  end else begin
    Form1.Bevel1.Width := Form1.image1.width - 16 ;
    Form1.Bevel1.Height:= Form1.Bevel1.Width * H div W ;
  end;
    Form1.Bevel1.top:=(Form1.ClientHeight -Form1.bevel1.Height) div 2;
    Form1.Bevel1.left:=(Form1.Clientwidth -Form1.panel1.width-Form1.bevel1.width) div 2;
    Form1.label2.Caption := '图片大小:' inttostr(PicW) ' x ' inttostr( PicH) ;
end;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin
Form1.Caption:='图片裁剪器    版本号(Ver):  ' GetApplicationVersion;

    AssignFile(F, 'C:\CutSet.ini');                   //读取其它设置
    Reset(F);
    While Not EOF(F) do
    begin
      Readln(F,WStr);
      Readln(F,HStr);
      Readln(F,SourceDir);
      Readln(F,CutDir);
      Readln(F,Cut01);
      Readln(F,EXEDir);
      Readln(F,EXE01);
    End;
    CloseFile(F);

  EditCut_W.Text:=WStr ;
  EditCut_H.Text:=HStr;
  W:=strtoint(WStr);
  H:=strtoint(HStr);
  CW:= 720;
  CH:= 720 ;
  CutPane(CW,CH);

  if Length(SourceDir)=3 then sourcedir:=Copy(sourcedir,1,2);
  if Length(CutDir)=3 then CutDir:=Copy(CutDir,1,2);

  Edit1.text:=sourcedir ;
  ListBox1.Clear;
  Found:=FindFirst(SourceDir '\*.JPG',faAnyFile,SearchRec);
  while    Found=0    do
    begin
      if (SearchRec.Name<>'.')  and (SearchRec.Name<>'..')and(SearchRec.Attr<>faDirectory)then
              ListBox1.Items.Add(SearchRec.Name);Found:=FindNext(SearchRec);
    end;
  FindClose(SearchRec);

end;

procedure TForm1.ListBox1Click(Sender: TObject);

begin

  image2.Picture.LoadFromFile( edit1.Text '\' listbox1.Items[listbox1.ItemIndex]);
  CW:= image2.width;
  CH:= image2.Height;
  CutPane(CW,CH);
  image1.Picture.LoadFromFile(edit1.Text '\' listbox1.Items[listbox1.ItemIndex]);
  Button_ok.Enabled :=true;
end;



procedure TForm1.Button3Click(Sender: TObject);
begin
  Bevel1.Top:=Bevel1.Top-8;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Bevel1.Top:=Bevel1.Top 8;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Bevel1.Left:=Bevel1.Left-8;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Bevel1.Left:=Bevel1.Left 8;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
  Bevel1.Height:=Bevel1.Height 8;
  Bevel1.Width:= Bevel1.Height* W div H ;
  Bevel1.top:= Bevel1.top  -4;
  Bevel1.left:= Bevel1.left  -4* W div H;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
  Bevel1.Height:=Bevel1.Height-8;
  Bevel1.Width:= Bevel1.Height* w div h ;
  Bevel1.top:= Bevel1.top  4;
  Bevel1.left:= Bevel1.left 4* w div h;
end;

procedure TForm1.Button_OKClick(Sender: TObject);
var
    picOriginal: TPicture;
    Jpg , SrcJpG:  TJpegImage;           // Source
    bmp , CutBMP,CutSizeBMP: TBitmap;     //destination
begin

  LB:=(Bevel1.Left-image1.Left)*CW div image1.Width;
  TB:=(Bevel1.Top-image1.Top)*CH div image1.Height;
  WB:=Bevel1.Width*CW div image1.Width;
  HB:=Bevel1.Height*CH div image1.Height;

  SrcJpg :=   TJpegImage.Create;
  SrcJpg.LoadFromFile(edit1.text '\' listbox1.Items[listbox1.ItemIndex]);
  CutBMP :=   TBitmap.Create;
  CutBMP.Width   :=  WB;
  CutBMP.Height   :=  HB;
  bmp := TBitmap.Create;
  bmp.Assign(Srcjpg);
  CutBMP.Canvas.CopyRect(Rect(0, 0, WB , HB ), bmp.Canvas, Rect(LB,TB,LB WB,TB HB));

  CutSizeBMP := TBitmap.Create;
  if CutBMP.Width > W then
  begin
    CutSizeBMP.Width := W;
    CutSizeBMP.Height := H;
    CutSizeBMP.Canvas.StretchDraw(Rect(0, 0, CutSizeBMP.Width, CutSizeBMP.Height), CutBMP);
  end else begin
    CutSizeBMP.Assign(CutBMP);
  end;
  JPG :=   TJpegImage.Create;
  Jpg.Assign(CutSizeBMP);
  Jpg.SaveToFile(CutDir '\裁剪' listbox1.Items[listbox1.ItemIndex]);

  SrcJpg.Free;
  CutBMP.Free;
  CutSizeBMP.Free;
  Jpg.Free;
  BMP.Free;

  Image2.Picture.LoadFromFile(CutDir '\裁剪' listbox1.Items[listbox1.ItemIndex]);
  image1.Picture.LoadFromFile(CutDir '\裁剪' listbox1.Items[listbox1.ItemIndex]);

  CutPane(image2.width,image2.Height);

  if Cut01='1' then  DeleteFile( Edit1.Text '\' listbox1.Items[listbox1.ItemIndex] );
  ListRenovate(Edit1.text);
  Button_ok.Enabled :=false;
end;

procedure TForm1.ButtonExitClick(Sender: TObject);
begin
if EXE01='1' then WinExec(pChar(EXEDir), SW_SHOW);
Application.Terminate;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
   groupbox7.Visible :=False;
   Image6.Enabled := true;
   Groupbox6.Visible :=true;
   Editcutw.text:= inttostr(w);
   EditcutH.text:=  inttostr(h);
   EditSourceDir.text:= SourceDir ;
   EditCutDir.text:= CutDir  ;
   Checkbox2.Checked :=Boolean(strtoint(Cut01));
   Editexe.text:= EXEDir ;
   Checkbox1.Checked :=Boolean(strtoint(EXE01));
   Groupbox6.left := 32;
   Groupbox6.Top := 170;
   Image5.Enabled := false;
end;

procedure TForm1.Button_SETOKClick(Sender: TObject);

begin

    W := strtoint(Editcutw.text);
    H := strtoint(EditcutH.text);
    Editcut_w.text := Editcutw.text;
    Editcut_H.text := EditcutH.text;
    SourceDir :=EditSourceDir.text;
    Edit1.text :=EditSourceDir.text;
    CutDir :=EditCutDir.text;
    if Checkbox2.Checked=true then  Cut01 :='1';
    if Checkbox2.Checked=false then  Cut01 :='0';
    EXEDir :=EditEXE.text;
    if Checkbox1.Checked=true then  EXE01 :='1';
    if Checkbox1.Checked=false then  EXE01 :='0';

    if Length(SourceDir)=3 then sourcedir:=Copy(sourcedir,1,2);
    if Length(CutDir)=3 then CutDir:=Copy(CutDir,1,2);

    CutPane(CW,CH );

    AssignFile(F,'C:\CUTSET.ini' );
    Rewrite(F);

    writeln(F,Editcutw.text);
    writeln(F,EditcutH.text);
    writeln(F,SourceDir);
    writeln(F,CutDir);
    writeln(F,Cut01);
    writeln(F,EXEdiR);
    writeln(F,EXE01);
    CloseFile(F);
    ListRenovate(Edit1.text);
    Button12.Click;
end;

procedure TForm1.EditCutWExit(Sender: TObject);
begin
  try
    EditcutW.TEXT:=floattostr(abs(strtofloat(EditCutW.TEXT)));
  except
    Application.MessageBox('  [宽] 必须是大于或等于"0"的数。    ',  '错误',MB_ICONERROR);
    EditCutW.TEXT:='1280';
  end;
end;

procedure TForm1.EditCutHExit(Sender: TObject);
begin
  try
    EditcutH.TEXT:=floattostr(abs(strtofloat(EditcutH.TEXT)));
  except
    Application.MessageBox('  [高] 必须是大于或等于"0"的整数。    ',  '错误',MB_ICONERROR);
    Editcuth.TEXT:='720';
  end;
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
groupbox6.Visible :=False;
Image5.Enabled := true;
end;

procedure TForm1.Button1dirCourceClick(Sender: TObject);

begin

  if SelectDirectory(SourceDir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then  EditSourceDir.text:=SourceDir; // Dir返回选择的文件夹

end;

procedure TForm1.ButtonDirCutClick(Sender: TObject);
begin

  if SelectDirectory(CutDir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then  EditCutDir.text:=CutDir;

end;

procedure TForm1.ButtonEXEClick(Sender: TObject);

begin
  if SelectDirectory(EXEDir, [sdPerformCreate],SELDIRHELP) then  EditEXE.text := EXEDir; // Dir返回选择的文件夹
  if Length(EditEXE.text)=3 then EditEXE.text:=Copy(Edit1.text,1,2) ;
  ListBox2.visible:=true;
  ListBox2.Clear;
  Found:=FindFirst(EXEDir '\*.EXE',faAnyFile,SearchRec);
  while    Found=0    do
    begin
      if (SearchRec.Name<>'.')  and (SearchRec.Name<>'..')and(SearchRec.Attr<>faDirectory)then
              ListBox2.Items.Add(SearchRec.Name);Found:=FindNext(SearchRec);
    end;
  FindClose(SearchRec);

end;

procedure TForm1.ButtonCourceDir0Click(Sender: TObject);
var
dir,sStr:string;
jj,ll:   Integer;

begin
  {if SelectDirectory(Dir, [sdPerformCreate],SELDIRHELP) then  Edit1.text := Dir;
  if Length(Edit1.text)=3 then Edit1.text:=Copy(Edit1.text,1,2);
  ListRenovate(Edit1.text);}
  OpenPictureDialog1.Execute;
  dir := PChar(OpenPictureDialog1.FileName);
    ll:=length(dir);
    for jj:=ll downto 2  do
    begin
      sStr:=copy(dir,jj,1);
      if sStr='\' then
      begin
        Dir:=copy(dir,1,jj-1);
        Edit1.text := Dir;
        ListRenovate(Edit1.text);
        exit;
      end;
    end;
  if FileExists(OpenPictureDialog1.FileName) then
  begin
    image2.Picture.LoadFromFile(OpenPictureDialog1.FileName);
    CW:= image2.width;
    CH:= image2.Height;
    CutPane(CW,CH);
    image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
    Button_ok.Enabled :=true;
  end;

end;

procedure TForm1.Edit1DblClick(Sender: TObject);
begin
  ListRenovate(Sourcedir) ;
end;

procedure TForm1.Button16Click(Sender: TObject);
begin
    WStr := '1280';
    HStr := '720';
    SourceDir :='C:';
    CutDir :='C:';
    Cut01:='0';
    EXEDir :='-';
    EXE01:='0';

    EditCut_W.Text:=WStr ;
    EditCut_H.Text:=HStr;
    W:=strtoint(WStr);
    H:=strtoint(HStr);

    AssignFile(F,'C:\CUTSET.ini' );
    Rewrite(F);

    writeln(F,Editcutw.text);
    writeln(F,EditcutH.text);
    writeln(F,EditSourceDir.text);
    writeln(F,editCutDir.text);
    writeln(F,Cut01);
    writeln(F,editexe.text);
    writeln(F,EXE01);

    CloseFile(F);

end;

procedure TForm1.Button17Click(Sender: TObject);
var
tmpObject : IUnknown;
tmpSLink : IShellLink;
tmpPFile : IPersistFile;
PIDL : PItemIDList;
StartupDirectory : array[0..MAX_PATH] of Char;
StartupFilename : String;
LinkFilename : WideString;
begin
//创建快捷方式到桌面
StartupFilename :=Application.ExeName;
tmpObject := CreateComObject(CLSID_ShellLink);//创建建立快捷方式的外壳扩展
tmpSLink := tmpObject as IShellLink;//取得接口
tmpPFile := tmpObject as IPersistFile;//用来储存*.lnk文件的接口
tmpSLink.SetPath(pChar(StartupFilename));//设定所在目录
tmpSLink.SetWorkingDirectory(pChar(ExtractFilePath(StartupFilename)));//设定工作目录
SHGetSpecialFolderLocation(0,CSIDL_DESKTOPDIRECTORY,PIDL);//获得桌面的Itemidlist
tmpSLink.SetDescription('图片裁剪器,明丰科技出品。');
tmpSLink.SetIconLocation(Pchar(StartupFilename),0);
SHGetPathFromIDList(PIDL,StartupDirectory);//获得桌面目录
LinkFilename := StartupDirectory '\图片裁剪器.lnk';
tmpPFile.Save(pWChar(LinkFilename),FALSE);//保存*.lnk文件
Application.MessageBox(' 桌面快捷方式创建成功!' ,'提示', MB_ICONASTERISK);

end;

procedure TForm1.Button15Click(Sender: TObject);
begin
groupbox7.Visible :=False;
Image6.Enabled := true;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
 groupbox6.Visible :=False;
 Image5.Enabled := true;
 Groupbox7.Visible :=true;
 Groupbox7.left := 100;
 Groupbox7.Top := 170;
 Image6.Enabled := false;
 //LabelYH.Caption := ' 当前用户:' ZHMC;
 LabelVer.Caption := '版本号(Ver):  ' GetApplicationVersion;
 LabelDate.Caption := '生成时间:  ' DateToStr(filectime(ExtractFileDir(ParamStr(0)) '\' ExtractFileName(Application.ExeName))); //  '\yxgl.exe'

end;

procedure TForm1.ListBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  sText :string;
  R : integer;
   
begin

  if  (Button = mbRight) and (listbox1.ItemIndex > -1) then
  begin
    sText:=  ' 您真的要删除图片 [ ' listbox1.Items[listbox1.ItemIndex] ' ] 吗?';
    R:=Application.MessageBox( PChar(sText) ,  '选择提示',MB_YESNO MB_ICONQUESTION MB_DEFBUTTON2);
    if R=6 then
    begin
      DeleteFile( Edit1.Text '\' listbox1.Items[listbox1.ItemIndex] );
      Edit1.text:=sourcedir ;
      ListBox1.Clear;
      Found:=FindFirst(SourceDir '\*.JPG',faAnyFile,SearchRec);
      while    Found=0    do
      begin
        if (SearchRec.Name<>'.')  and (SearchRec.Name<>'..')and(SearchRec.Attr<>faDirectory)then
              ListBox1.Items.Add(SearchRec.Name);Found:=FindNext(SearchRec);
      end;
      FindClose(SearchRec);
    end;
  end;
end;

procedure TForm1.EditCut_WExit(Sender: TObject);
begin
  try
    W:=abs(strtoint(EditCut_W.TEXT));
  except
    Application.MessageBox('  [宽] 必须是大于或等于"0"的整数。    ',  '错误',MB_ICONERROR);
    EditCutW.TEXT:='1280';
    W:=1280;
  end;
  CutPane(CW,CH);
end;

procedure TForm1.EditCut_HExit(Sender: TObject);
begin
  try
    H:=abs(strtoint(EditCut_H.TEXT));
  except
    Application.MessageBox('  [高] 必须是大于或等于"0"的整数。    ',  '错误',MB_ICONERROR);
    EditCutW.TEXT:='720';
    W:=720;
  end;
  CutPane(CW,CH);
end;

procedure TForm1.ListBox2Click(Sender: TObject);
begin
  EditEXE.Text:= EditEXE.Text '\' listbox2.Items[listbox2.ItemIndex];
  ListBox2.visible:=false;
end;

procedure TForm1.Image5Click(Sender: TObject);
begin
   groupbox7.Visible :=False;
   Image6.Enabled := true;
   Groupbox6.Visible :=true;
   Editcutw.text:= inttostr(w);
   EditcutH.text:=  inttostr(h);
   EditSourceDir.text:= SourceDir ;
   EditCutDir.text:= CutDir  ;
   Checkbox2.Checked :=Boolean(strtoint(Cut01));
   Editexe.text:= EXEDir ;
   Checkbox1.Checked :=Boolean(strtoint(EXE01));
   Groupbox6.left := 32;
   Groupbox6.Top := 170;
   Image5.Enabled := false;
end;

procedure TForm1.Image6Click(Sender: TObject);
begin
 groupbox6.Visible :=False;
 Image5.Enabled := true;
 Groupbox7.Visible :=true;
 Groupbox7.left := 100;
 Groupbox7.Top := 170;
 Image6.Enabled := false;
 //LabelYH.Caption := ' 当前用户:' ZHMC;
 LabelVer.Caption := '版本号(Ver):  ' GetApplicationVersion;
 LabelDate.Caption := '生成时间:  ' DateToStr(filectime(ExtractFileDir(ParamStr(0)) '\' ExtractFileName(Application.ExeName)));

end;

end.
.
├── 照片裁剪
│   ├── PictureCut.cfg
│   ├── PictureCut.dof
│   ├── PictureCut.dpr
│   ├── PictureCut.exe
│   ├── PictureCut.res
│   ├── PictureCut.~dpr
│   ├── Unit1.dcu
│   ├── Unit1.ddp
│   ├── Unit1.dfm
│   ├── Unit1.pas
│   ├── Unit1.~ddp
│   ├── Unit1.~dfm
│   ├── Unit1.~pas
│   └── rasadhlp.dll
└── 好例子网_照片裁剪.zip

1 directory, 15 files


实例下载地址

图片裁剪缩小工具

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警