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

📄 kaformimageeditor.pas

📁 可以用任何 bitmap 當成 form 的外型 delphi 3.0, 4.0, 5.0, 6.0, 7.0 適用
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit KAFormImageEditor;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, KAFormImage, ComCtrls;

type
  TColorEditForm = class(TForm)
    ScrollBox1: TScrollBox;
    Image1: TImage;
    Button1: TButton;
    Button2: TButton;
    Panel100: TPanel;
    Panel200: TPanel;
    Label2: TLabel;
    Button3: TButton;
    Panel0: TPanel;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    Panel8: TPanel;
    Panel9: TPanel;
    Panel10: TPanel;
    Panel11: TPanel;
    Panel12: TPanel;
    Panel13: TPanel;
    Panel14: TPanel;
    Panel15: TPanel;
    Panel16: TPanel;
    Panel17: TPanel;
    Panel18: TPanel;
    Panel19: TPanel;
    Panel20: TPanel;
    Panel21: TPanel;
    Panel22: TPanel;
    Panel23: TPanel;
    Panel24: TPanel;
    Panel25: TPanel;
    Panel26: TPanel;
    Panel27: TPanel;
    Panel28: TPanel;
    Panel29: TPanel;
    Panel30: TPanel;
    Panel31: TPanel;
    Panel32: TPanel;
    Panel33: TPanel;
    Panel34: TPanel;
    Panel35: TPanel;
    Image2: TImage;
    ColorDialog1: TColorDialog;
    TrackBar1: TTrackBar;
    CheckBox1: TCheckBox;
    Panel36: TPanel;
    Panel37: TPanel;
    Panel38: TPanel;
    Panel39: TPanel;
    Panel40: TPanel;
    Panel41: TPanel;
    Panel42: TPanel;
    Panel43: TPanel;
    Panel44: TPanel;
    Panel45: TPanel;
    Panel46: TPanel;
    Panel47: TPanel;
    Panel48: TPanel;
    Panel49: TPanel;
    Panel50: TPanel;
    Panel51: TPanel;
    Panel52: TPanel;
    Panel53: TPanel;
    Panel54: TPanel;
    Panel55: TPanel;
    Panel56: TPanel;
    Panel57: TPanel;
    Panel58: TPanel;
    Panel59: TPanel;
    Panel60: TPanel;
    Panel61: TPanel;
    Panel62: TPanel;
    Panel63: TPanel;
    Panel64: TPanel;
    Panel65: TPanel;
    Panel66: TPanel;
    Panel67: TPanel;
    Panel68: TPanel;
    Panel69: TPanel;
    Panel70: TPanel;
    Panel71: TPanel;
    Panel72: TPanel;
    Panel73: TPanel;
    Panel74: TPanel;
    Panel75: TPanel;
    Panel76: TPanel;
    Panel77: TPanel;
    Panel78: TPanel;
    Panel79: TPanel;
    Panel80: TPanel;
    Panel81: TPanel;
    Panel82: TPanel;
    Panel83: TPanel;
    Panel84: TPanel;
    Panel85: TPanel;
    Panel86: TPanel;
    Panel87: TPanel;
    Panel88: TPanel;
    Panel89: TPanel;
    Panel90: TPanel;
    Panel91: TPanel;
    Panel92: TPanel;
    Panel93: TPanel;
    Panel94: TPanel;
    Panel95: TPanel;
    Edit1: TEdit;
    Button4: TButton;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button1Click(Sender: TObject);
    procedure Panel100DblClick(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);

  private
    { Private declarations }
    CCanvas  : TControlCanvas;
    Scale    : Integer;
    OW       : Integer;
    OH       : Integer;
    LX       : Integer;
    LY       : Integer;
    LastDown : TPoint;
    Panels   : Array[0..95] of TPanel;
    NumColors: Integer;

    Procedure ZoomIn(X,Y:Integer);
    Procedure ZoomOut(X,Y:Integer);
    Function  IsInvisible(Clr:TColor):Boolean;
    Procedure Refill;
  public
    { Public declarations }
    Function Execute(Var FI : TKAFormImage):Boolean;
  end;

var
  ColorEditForm: TColorEditForm;

implementation
{$R *.dfm}
{$R KAFIRC.RES}
{ TColorEditForm }
Const
 crPipeta_P = 1;
 crPipeta_M = 2;
 crLupa_P   = 3;
 crLupa_M   = 4;
 crHand     = 5;

function TColorEditForm.Execute(var FI: TKAFormImage): Boolean;
Var
 X : Integer;
begin
 Result                     := False;
 Panels[0]  := Panel0;
 Panels[1]  := Panel1;
 Panels[2]  := Panel2;
 Panels[3]  := Panel3;
 Panels[4]  := Panel4;
 Panels[5]  := Panel5;
 Panels[6]  := Panel6;
 Panels[7]  := Panel7;
 Panels[8]  := Panel8;
 Panels[9]  := Panel9;
 Panels[10] := Panel10;
 Panels[11] := Panel11;
 Panels[12] := Panel12;
 Panels[13] := Panel13;
 Panels[14] := Panel14;
 Panels[15] := Panel15;
 Panels[16] := Panel16;
 Panels[17] := Panel17;
 Panels[18] := Panel18;
 Panels[19] := Panel19;
 Panels[20] := Panel20;
 Panels[21] := Panel21;
 Panels[22] := Panel22;
 Panels[23] := Panel23;
 Panels[24] := Panel24;
 Panels[25] := Panel25;
 Panels[26] := Panel26;
 Panels[27] := Panel27;
 Panels[28] := Panel28;
 Panels[29] := Panel29;
 Panels[30] := Panel30;
 Panels[31] := Panel31;
 Panels[32] := Panel32;
 Panels[33] := Panel33;
 Panels[34] := Panel34;
 Panels[35] := Panel35;
 Panels[36] := Panel36;
 Panels[37] := Panel37;
 Panels[38] := Panel38;
 Panels[39] := Panel39;
 Panels[40] := Panel40;
 Panels[41] := Panel41;
 Panels[42] := Panel42;
 Panels[43] := Panel43;
 Panels[44] := Panel44;
 Panels[45] := Panel45;
 Panels[46] := Panel46;
 Panels[47] := Panel47;
 Panels[48] := Panel48;
 Panels[49] := Panel49;
 Panels[50] := Panel50;
 Panels[51] := Panel51;
 Panels[52] := Panel52;
 Panels[53] := Panel53;
 Panels[54] := Panel54;
 Panels[55] := Panel55;
 Panels[56] := Panel56;
 Panels[57] := Panel57;
 Panels[58] := Panel58;
 Panels[59] := Panel59;
 Panels[60] := Panel60;
 Panels[61] := Panel61;
 Panels[62] := Panel62;
 Panels[63] := Panel63;
 Panels[64] := Panel64;
 Panels[65] := Panel65;
 Panels[66] := Panel66;
 Panels[67] := Panel67;
 Panels[68] := Panel68;
 Panels[69] := Panel69;
 Panels[70] := Panel70;
 Panels[71] := Panel71;
 Panels[72] := Panel72;
 Panels[73] := Panel73;
 Panels[74] := Panel74;
 Panels[75] := Panel75;
 Panels[76] := Panel76;
 Panels[77] := Panel77;
 Panels[78] := Panel78;
 Panels[79] := Panel79;
 Panels[80] := Panel80;
 Panels[81] := Panel81;
 Panels[82] := Panel82;
 Panels[83] := Panel83;
 Panels[84] := Panel84;
 Panels[85] := Panel85;
 Panels[86] := Panel86;
 Panels[87] := Panel87;
 Panels[88] := Panel88;
 Panels[89] := Panel89;
 Panels[90] := Panel90;
 Panels[91] := Panel91;
 Panels[92] := Panel92;
 Panels[93] := Panel93;
 Panels[94] := Panel94;
 Panels[95] := Panel95;
 Screen.Cursors[crPipeta_P] := LoadCursor(HInstance, 'PIPETAP');
 Screen.Cursors[crPipeta_M] := LoadCursor(HInstance, 'PIPETAM');
 Screen.Cursors[crLupa_P]   := LoadCursor(HInstance, 'LUPAP');
 Screen.Cursors[crLupa_M]   := LoadCursor(HInstance, 'LUPAM');
 Screen.Cursors[crHand]     := LoadCursor(HInstance, 'HAND');
 Image1.Cursor              := crPipeta_P;
 Image1.AutoSize            := True;

 Image1.Picture.Bitmap.PixelFormat := pf24bit;
 Image2.Picture.Bitmap.PixelFormat := pf24bit;
 Image1.Picture.Bitmap.Assign(FI.BmpRepresentation);
 Image2.Picture.Bitmap.Assign(FI.BmpRepresentation);
 Image1.AutoSize            := False;
 OW                         := Image1.Width;
 OH                         := Image1.Height;
 TrackBar1.Position         := FI.ColorSimilarity;

⌨️ 快捷键说明

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