1. feladat: Rajzolás Panelra 1db TPanel, 1db TButton Panel: Name: PanelProba Caption: Ez egy panel. Name: ButtonPRajzol Caption: Rajzolj a panelra! ButtonPRajzol: onclick implementation uses FPimage; procedure TForm1.ButtonPRajzolClick(Sender: TObject); PanelProba.Canvas.Colors[10,10] := FPColor(65535,0,0); PanelProba.Canvas.Colors[20,10] := TColorToFPColor(2222); PanelProba.Canvas.Pixels[30,10] := RGBToColor(0, 255, 0); PanelProba.Canvas.Pixels[40,10] := 2222;
2. feladat: Rajzolás képre 1db TImage, 1db TButton Image: Name: ImageProba Name: ButtonIRajzol Caption: Rajzolj az imagere! ButtonIRajzol: onclick procedure TForm1.ButtonIRajzolClick(Sender: TObject); ImageProba.Canvas.Colors[10, 10] := FPColor(65535, 65535, 65535); ImageProba.Canvas.Pixels[20, 10] := clwhite; ImageProba.Picture.Bitmap.Canvas.Colors[30, 10] := TColorToFPColor(clWhite); ImageProba.Picture.Bitmap.Canvas.Pixels[40, 10] := clwhite;
3. feladat: Kép beolvasása file-ból 1db TOpenPictureDialog, 1db TButton OpenPictureDialog: Name: TOpenPictureDialogProba Name: ButtonBetolt Caption: Kép betöltése ButtonBetolt: onclick procedure TForm1.ButtonBetoltClick(Sender: TObject); if OpenPictureDialogProba.Execute then ImageProba.Picture.LoadFromFile(OpenPictureDialogProba.FileName);
4. feladat: Kép másolása 1db TImage, 3db TButton Image: Name: ImageEredmeny Name: ButtonMasol1/ ButtonMasol2/ ButtonMasol3 Caption: Másolás I./ Másolás II./ Másolás III. ButtonMasol1: onclick procedure TForm1.ButtonMasol1Click(Sender: TObject); var bekep,kikep: TBitmap; x,y: integer; bekep:=imageproba.picture.bitmap; kikep:=imageeredmeny.picture.bitmap; kikep.width:=bekep.width; //szélesség kikep.height:=bekep.height; //magasság for x := 0 to bekep.width-1 do for y := 0 to bekep.height-1 do kikep.canvas.colors[x,y] := bekep.canvas.colors[x,y]; ButtonMasol2: onclick procedure TForm1.ButtonMasol2Click(Sender: TObject); var bekep,kikep: TBitmap; x,y: integer; bekep:=imageproba.picture.bitmap; kikep:=imageeredmeny.picture.bitmap; kikep.width:=bekep.width; //szélesség kikep.height:=bekep.height; //magasság for x := 0 to bekep.width-1 do for y := 0 to bekep.height-1 do kikep.canvas.pixels[x,y] := bekep.canvas.pixels[x,y];
ButtonMasol3: onclick kepseged.pas projekt mappába másolása implementation uses kepseged, procedure TForm1.ButtonMasol3Click(Sender: TObject); var kep: TPic; kep := TPic.Create(ImageProba); kep.draw(imageeredmeny); kep.draw(panelproba); kep.destroy;
5. feladat: Kicsinyítés 2db TButton Name: ButtonKicsi1/ ButtonKicsi2 Caption: Kicsinyítés I./ Kicsinyítés II. ButtonKicsi1: onclick procedure TForm1.ButtonKicsi1Click(Sender: TObject); var x,y: integer; with ImageProba.Picture.Bitmap do ImageEredmeny.Picture.Bitmap.Width:=Width div 2; ImageEredmeny.Picture.Bitmap.Height:=Height div 2; for x := 0 to (Width-1) div 2 do for y := 0 to (Height-1) div 2 do ImageEredmeny.Picture.Bitmap.Canvas.Pixels[x, y] := RGBToColor( (Red(Canvas.Pixels[x*2,y*2]) + Red(Canvas.Pixels[x*2+1,y*2]) + Red(Canvas.Pixels[x*2,y*2+1]) + Red(Canvas.Pixels[x*2+1,y*2+1])) div 4, (Green(Canvas.Pixels[x*2,y*2]) + Green(Canvas.Pixels[x*2+1,y*2]) + Green(Canvas.Pixels[x*2,y*2+1]) + Green(Canvas.Pixels[x*2+1,y*2+1])) div 4, (Blue(Canvas.Pixels[x*2,y*2]) + Blue(Canvas.Pixels[x*2+1,y*2]) + Blue(Canvas.Pixels[x*2,y*2+1]) + Blue(Canvas.Pixels[x*2+1,y*2+1])) div 4 );
ButtonKicsi2: onclick procedure TForm1.ButtonKicsi2Click(Sender: TObject); var x,y: integer; betkep, kitkep: TPic; with ImageProba.Picture.Bitmap do ImageEredmeny.Picture.Bitmap.Width:=Width div 2; ImageEredmeny.Picture.Bitmap.Height:=Height div 2; betkep := TPic.Create(ImageProba); kitkep := TPic.Create(ImageEredmeny); for x := 0 to (Width-1) div 2 do for y := 0 to (Height-1) div 2 do kitkep.colors[x, y] := FPColor( (betkep.colors[x*2,y*2].red + betkep.colors[x*2+1,y*2].red + betkep.colors[x*2,y*2+1].red + betkep.colors[x*2+1,y*2+1].red) div 4, (betkep.colors[x*2,y*2].green + betkep.colors[x*2+1,y*2].green + betkep.colors[x*2,y*2+1].green + betkep.colors[x*2+1,y*2+1].green) div 4, (betkep.colors[x*2,y*2].blue + betkep.colors[x*2+1,y*2].blue + betkep.colors[x*2,y*2+1].blue + betkep.colors[x*2+1,y*2+1].blue) div 4) ; kitkep.draw(imageeredmeny); betkep.destroy; kitkep.destroy;
6. feladat: Nagyítás 1db TButton Name: ButtonNagy Caption: Nagyítás ButtonNagy: onclick procedure TForm1.ButtonNagyClick(Sender: TObject); var x,y: integer; betkep, kitkep: TPic; with ImageProba.Picture.Bitmap do ImageEredmeny.Picture.Bitmap.Width:=Width * 2; ImageEredmeny.Picture.Bitmap.Height:=Height * 2; betkep := TPic.Create(ImageProba); kitkep := TPic.Create(ImageEredmeny); for x := 0 to Width-1 do for y := 0 to Height-1 do kitkep.colors[x*2,y*2] := betkep.colors[x,y]; kitkep.colors[x*2+1,y*2] := betkep.colors[x,y]; kitkep.colors[x*2,y*2+1] := betkep.colors[x,y]; kitkep.colors[x*2+1,y*2+1] := betkep.colors[x,y]; kitkep.draw(imageeredmeny); betkep.destroy; kitkep.destroy;