⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pictureproc.pas

📁 delphi图形程序开发,就是怎么样给图片加文字
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit PictureProc;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, ToolWin, JPEG, StdCtrls, ImgList, XsImageEffect,
  Menus, Spin, ExtDlgs;

const
  PFILENAME = 'PF.CFG';

type
  TFormPictureProc = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N1901: TMenuItem;
    N1801: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    N23: TMenuItem;
    N24: TMenuItem;
    N25: TMenuItem;
    N26: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    Panel1: TPanel;
    N29: TMenuItem;
    N31: TMenuItem;
    N32: TMenuItem;
    N33: TMenuItem;
    Notebook1: TNotebook;
    Label1: TLabel;
    Label2: TLabel;
    SpinEdit1: TSpinEdit;
    Button1: TButton;
    Label3: TLabel;
    ColorBox1: TColorBox;
    Label4: TLabel;
    SpinEdit2: TSpinEdit;
    SpinEdit3: TSpinEdit;
    Label5: TLabel;
    Button2: TButton;
    N34: TMenuItem;
    N35: TMenuItem;
    N36: TMenuItem;
    N37: TMenuItem;
    Label6: TLabel;
    TrackBar1: TTrackBar;
    Button3: TButton;
    SpinEdit4: TSpinEdit;
    CheckBox1: TCheckBox;
    OpenPictureDialog1: TOpenPictureDialog;
    N30: TMenuItem;
    SaveDialog1: TSaveDialog;
    procedure N32Click(Sender: TObject);
    procedure N31Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure N5Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N1901Click(Sender: TObject);
    procedure N1801Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N35Click(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure N36Click(Sender: TObject);
    procedure N30Click(Sender: TObject);
    procedure SpinEdit4Change(Sender: TObject);
  private
    AsSave: Boolean;
    rbp: Tbitmap;
    procedure InitProc(bp: TBitmap);
    procedure ReadPFCFG();
    function GetImageFormProc(): TBitmap;
    procedure ReplaceImageToProc(Bitmap: TBitmap);
    procedure ViewMode();
    procedure EditMode();
    { Private declarations }
  public
    procedure DragPicture(dTxt: String ='');
    procedure EnabledSelect(dTxt: String ='');
    procedure DisabledSelect(dTxt: String ='');
    procedure SelectAll(dTxt: String ='');
    procedure ActiveSelect(dTxt: String ='');
    procedure LeftRotate90(dTxt: String ='');
    procedure RightRotate90(dTxt: String ='');
    procedure Rotate180(dTxt: String ='');
    procedure CustomeRotate();
    procedure RotateRePic(dTxt: String ='');
    procedure LeftRightMirror(dTxt: String ='');
    procedure TopBottomMirror(dTxt: String ='');
    procedure ClientSize(dTxt: String ='');
    procedure FullSize(dTxt: String ='');
    procedure EraseBlack(dTxt: String ='');
    procedure AutoSelect(dTxt: String ='');
    procedure CutOutSelect(dTxt: String ='');
    procedure Preferences();
    procedure GetOrgPicture(dTxt: String ='');
    procedure AutoProcess(dTxt: String ='');
    { Public declarations }
  end;

var
  FormPictureProc: TFormPictureProc;

implementation

uses StorePicture, Toolbar;

{$R *.dfm}

{ TFormZoomAdd }

procedure TFormPictureProc.InitProc(bp: TBitmap);
begin
  FormToolBar:= TFormToolBar.Create(Self);
  FormToolBar.Show;
  ShowPicture(bp);
  ReadPFCFG;
  EditMode;
end;


procedure TFormPictureProc.N32Click(Sender: TObject);
begin
  Close;
end;

procedure TFormPictureProc.N31Click(Sender: TObject);
begin
  rbp:= TBitmap.Create;
  rbp.Assign(FormPicture.GetBitmap);
  ReplaceImageToProc(rbp);
  AsSave:= True;
end;

procedure TFormPictureProc.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
var
  id: Integer;
begin
  if ParamCount>0 then
    if AnsiUpperCase(ParamStr(1)) = 'VIEW' then
    begin
      CanClose:= True;
      Exit;
    end;
  if not AsSave then
  begin
    id:= MessageBox(0,'图片未保存,是否保存?','提示',MB_ICONINFORMATION+MB_YESNOCANCEL);
    if id = IDYes then
    begin
      CanClose:= True;
      N31Click( Sender);
    end else if id = IDNo then
      CanClose:= True
    else
      CanClose:= False;
  end;
end;

procedure TFormPictureProc.N5Click(Sender: TObject);
begin
  EnabledSelect;
end;

procedure TFormPictureProc.N9Click(Sender: TObject);
begin
  RightRotate90;
end;

procedure TFormPictureProc.N1901Click(Sender: TObject);
begin
  LeftRotate90;
end;

procedure TFormPictureProc.N1801Click(Sender: TObject);
begin
  Rotate180;
end;

procedure TFormPictureProc.N13Click(Sender: TObject);
begin
  TopBottomMirror;
end;

procedure TFormPictureProc.N14Click(Sender: TObject);
begin
  LeftRightMirror;
end;

procedure TFormPictureProc.N16Click(Sender: TObject);
begin
  ClientSize;
end;

procedure TFormPictureProc.N17Click(Sender: TObject);
begin
  FullSize;
end;

procedure TFormPictureProc.N18Click(Sender: TObject);
begin
  EraseBlack;
end;

procedure TFormPictureProc.N19Click(Sender: TObject);
begin
  AutoSelect;
end;

procedure TFormPictureProc.N22Click(Sender: TObject);
begin
  CutOutSelect;
end;

procedure TFormPictureProc.N7Click(Sender: TObject);
begin
  DisabledSelect;
end;

procedure TFormPictureProc.N6Click(Sender: TObject);
begin
  SelectAll;
end;

procedure TFormPictureProc.N11Click(Sender: TObject);
begin
  RotateRePic();
end;

procedure TFormPictureProc.DragPicture(dTxt: String);
begin
  FormPicture.DragPicture;
  Notebook1.PageIndex:= 0;
  if dTxt = '' then
    Label1.Caption:= '操作提示:按动鼠标左键拖动图片浏览...'
  else
    Label1.Caption:= dTxt;
end;

procedure TFormPictureProc.N24Click(Sender: TObject);
begin
  DragPicture();
end;

procedure TFormPictureProc.EnabledSelect(dTxt: String);
begin
  FormPicture.EnabledSelect;
  Notebook1.PageIndex:= 0;
  if dTxt = '' then
    Label1.Caption:= '操作提示:按动鼠标左键拉出一个选择范围...'
  else
    Label1.Caption:= dTxt;
end;

procedure TFormPictureProc.DisabledSelect(dTxt: String);
begin
  FormPicture.DisabledSelect;
  Notebook1.PageIndex:= 0;
  if dTxt = '' then
    Label1.Caption:= '请在工具栏或菜单选择你需要的功能...'
  else
    Label1.Caption:= dTxt;
end;

procedure TFormPictureProc.SelectAll(dTxt: String);
begin
  FormPicture.SelectAll;
  Notebook1.PageIndex:= 0;
  if dTxt = '' then
    Label1.Caption:= '请在工具栏或菜单选择你需要的功能...'
  else
    Label1.Caption:= dTxt;
end;

procedure TFormPictureProc.ActiveSelect(dTxt: String);
begin
  Notebook1.PageIndex:= 0;
  if FormPicture.ActiveSelect then
  begin
    if dTxt = '' then
      Label1.Caption:= '操作提示:按动鼠标左键拉出一个选择范围...'
    else
      Label1.Caption:= dTxt;
  end else
  begin
    if dTxt = '' then
      Label1.Caption:= '请在工具栏或菜单选择你需要的功能...'
    else
      Label1.Caption:= dTxt;
  end;
end;

procedure TFormPictureProc.CustomeRotate();

⌨️ 快捷键说明

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