Try !
var
TotRood, TotGroen, TotBlauw : real;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
with Image1.Picture.Bitmap do
begin
Width:=100;
Height:=100;
Canvas.Brush.Color:=clwhite;
Canvas.Fillrect(rect(0,0,100,100));
Canvas.Pen.Color:=clblack;
Canvas.Moveto(10,30);
Canvas.Lineto(90,90);
Canvas.Pen.Width:=2;
Canvas.ellipse(25,40,45,60);
Canvas.Font.name:='Times New Roman';
Canvas.Font.size:=15;
Canvas.Textout(5,5,'Hallo');
end;
Image2.Picture.bitmap:=AntiAliasing(Image1.picture.bitmap);
end;
function TForm1.AntiAliasing(Bitmap : TBitmap) : TBitmap;
var
x,y, Hoeveelheid : integer;
NieuweBitmap : TBitmap;
Rood, Blauw, Groen : integer;
begin
NieuweBitmap:=TBitmap.Create;?
NieuweBitmap.Assign(Bitmap);
for x:=0 to Bitmap.Width-1 do
begin
for y:=0 to Bitmap.Height-1 do
begin
TotRood:=0; TotGroen:=0; TotBlauw:=0;
CountRGB(Bitmap.Canvas,x,y,2);
CountRGB(Bitmap.Canvas,x-1,y,8);
CountRGB(Bitmap.Canvas,x,y-1,8);
CountRGB(Bitmap.Canvas,x+1,y,8);
CountRGB(Bitmap.Canvas,x,y+1,8);
NieuweBitmap.Canvas.Pixels[x,y]:=RGB(round(TotRood),round(TotGroen),round(TotBlauw));
end;
end;
result:=NieuweBitmap;
end;
procedure TForm1.CountRGB(EenCanvas : TCanvas; x,y : Integer; Hoeveelheid : Byte);
var
Kleur : LongInt;
Rood, Groen, Blauw : Integer;
begin
Kleur:=ColorToRGB(EenCanvas.Pixels[x,y]);
Blauw:=Kleur shr 16;
Groen:=(Kleur shr 8) and $00FF;
Rood:=Kleur and $0000FF;
TotRood:=TotRood+Rood/Hoeveelheid;
TotGroen:=TotGroen+Groen/Hoeveelheid;
TotBlauw:=TotBlauw+Blauw/Hoeveelheid;
end;