На форме расположены 3 Picture и прогрессбар результат совмещения показывающий, в две из них загружаются любые картинки, в третьем результат их совмещения.Вот код
| Код | unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtDlgs, StdCtrls, ComCtrls, ExtCtrls, jpeg, Menus, TeeProcs, TeEngine, Chart, DbChart;
type TForm1 = class(TForm) OpenPictureDialog1: TOpenPictureDialog; PageControl1: TPageControl; TabSheet1: TTabSheet; TrackBar1: TTrackBar; ProgressBar1: TProgressBar; Button1: TButton; Image5: TImage; GroupBox1: TGroupBox; Image1: TImage; GroupBox2: TGroupBox; Image2: TImage; procedure Image1Click(Sender: TObject); procedure Image2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Image3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; ugol,W:real; implementation
{$R *.dfm}
procedure TForm1.Image1Click(Sender: TObject); begin OpenPictureDialog1.InitialDir:= GetCurrentDir; if not OpenPictureDialog1.Execute then ShowMessage('Не нашел я этот файл окоянный!!!') else Image1.Picture.LoadFromFile(OpenPictureDialog1.Fil eName); end; procedure TForm1.Image2Click(Sender: TObject); begin OpenPictureDialog1.InitialDir:= GetCurrentDir; if not OpenPictureDialog1.Execute then ShowMessage('Не нашел я этот файл окоянный!!!') else Image2.Picture.LoadFromFile(OpenPictureDialog1.Fil eName); end;
procedure TForm1.Button1Click(Sender: TObject); var bt:TBitmap; i,j:Integer; C1,C2:TColor; r1,r2,g1,g2,b1,b2:Byte; begin W:=TrackBar1.Position/10; Image5.Picture.Bitmap:=TBitmap.Create; Image5.Picture.Bitmap.Height:=Image1.Picture.Bitma p.Height; Image5.Picture.Bitmap.Width:= Image1.Picture.Bitmap.Width;Bt:=Image5.Picture.Bit map; progressBar1.Max:=Bt.Height-1 ; For j:=0 to Bt.Height-1 do begin For i:=0 to Bt.Width-1 do begin C1:=Image1.Picture.Bitmap.Canvas.Pixels[i,j];C2:=Image2.Picture.Bitmap.Canvas.Pixels[i,j]; R1:=GetRValue(C1); G1:=GetGValue(C1); B1:=GetBValue (C1);R2:=GetRValue(C2); G2:=GetGValue(C2); B2:=GetBValue (C2); Bt.Canvas.Pixels[i,j]:=RGB(Trunc((W*R1)+(1-W)*R2),Trunc((W*G1)+(1-W)*G2),Trunc((W*B1)+(1-W)*B2) ) ; end; progressBar1.Position:=j; end; end; procedure TForm1.Image3Click(Sender: TObject); begin OpenPictureDialog1.InitialDir:= GetCurrentDir; if not OpenPictureDialog1.Execute then ShowMessage('Не нашел я этот файл окоянный!!!') else end; end.
|
прокоментируйте пожалуйста что есть что и там есть лишнее-лишнее убрать. |