ich mache gerade meine ersten Schritten in der Bildbearbeitung mit Lazarus.
Ich habe ein kleines Konsolenprogramm geschrieben, um ein JPG-Bild auf der Festplatte um 90° zu drehen:
Code: Alles auswählen
program Drehen;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, Graphics, GraphType, IntfGraphics
{ you can add units after this };
var
Bild : TPicture;
Bmp : TBitmap;
Help1, Help2: TLazIntfImage;
x, y : INTEGER;
begin
Bild := TPicture.Create;
Bmp := TBitmap.Create;
Bild.LoadFromFile ('C:\Users\Frank Luerweg\Desktop\Fisheye\Test\t.jpg');
Bmp := Bild.Bitmap;
Help1 := Bmp.CreateIntfImage;
Help2 := TLazIntfImage.Create (Help1.Height, Help1.Width);
FOR x := 0 TO Help1.Width-1 DO
FOR y := 0 TO Help1.Height-1 DO
BEGIN
Help2.Colors[x,y] := Help1.Colors[y,x];
end;
Bmp.LoadFromIntfImage(Help2);
Bild.Bitmap := Bmp;
Bild.SaveToFile ('C:\Users\Frank Luerweg\Desktop\Fisheye\Test\t_90.jpg');
Bild.Free;
Bmp.Free;
end.