การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น The structure of a Delphi program
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น unit imageprops; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; load: TButton; procedure loadClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); end; end. A program in Delphi is divided into sections.
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น unit imageprops; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; load: TButton; procedure loadClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); end; end. interface implementation
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น unit imageprops; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; load: TButton; procedure loadClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); end; end. In the Uses section you tell the compiler what other units to include
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น unit imageprops; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; load: TButton; procedure loadClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); end; end. In the type section you define the objects you will use in your program
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น unit imageprops; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; load: TButton; procedure loadClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); end; end. In the var section you give the names of the variables you will use, and their types.
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น unit imageprops; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; load: TButton; procedure loadClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); end; end. The actual program is in the implementatio n section. The header of each procedure also appears in the interface section.
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น Important properties of images
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น unit imageprops; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; load: TButton; procedure loadClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); end; end.
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น Click the mouse on the button procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); end;
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น Form1.Image1.picture.bitmap Form1.Image1 width height
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); image1.Stretch:=true; end;
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); image1.height:=image1.picture.bitmap.height; image1.width:=image1.picture.bitmap.width; end;
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น (left,top) procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); image1.Stretch:=true; end; procedure TForm1.loadClick(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); image1.Stretch:=true; image1.Left:=image1.Left+100; end;
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น Drag and drop Demo
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น unit testdrag; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Image1: TImage; Button1: TButton; Image2: TImage; procedure Button1Click(Sender: TObject); procedure FormDragDrop(Sender, Source: TObject; X, Y: Integer) ; procedure FormDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean) ; procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ; procedure Image2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ; private { Private declarations } public { Public declarations } end; var Form1: TForm1; oldx,oldy:integer; mouse:tmouse; dragstartx,dragstarty:integer; _dragging:boolean;
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น implementation {$R *.dfm} procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer) ; begin if Source is TImage then begin TImage(Source).Left := X; TImage(Source).Top := Y; _dragging:=false; end; procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean) ; begin Accept := (Source is TImage) ; if accept then _dragging:=true; end; procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ; begin if (ssCtrl in Shift) and not(_dragging) then Image1.BeginDrag(True) ; end; procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ; begin if (ssCtrl in Shift) and not(_dragging) then Image2.BeginDrag(True) ; end; procedure TForm1.Button1Click(Sender: TObject); begin image1.Picture.LoadFromFile('aphro2.bmp'); image2.Picture.LoadFromFile('aphro2.bmp'); end; end.
การประมวลผลภาพแบบดิจิตอล Ian Thomas ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น Transparency Demo