![]() |
Bild Horizontal spiegeln (vertikal klappt)
Ich habe jetzt ein Code geschrieben womit ich ein Bild Vertikal Spiegeln kann.
Das ist folgender Code
Delphi-Quellcode:
procedure VertikalSpiegele(Bild1:TImage);
var x,y:integer; hilf : TColor; begin for x:=0 to Bild1.width div 2 - 1 do for y:=0 to Bild1.height - 1 do begin hilf := Bild1.canvas.pixels[x,y]; Bild1.canvas.pixels[x,y]:=Bild1.canvas.pixels[Bild1.width-1-x,y]; Bild1.canvas.pixels[Bild1.width-1-x,y] := hilf; end end; Allerdings steig ich da nicht wirklich durch (da mit hilfe des Lehrers geschrieben) Aber geschrieben hab das wirklich ich Ich hab an folgendes Gedacht für Horizontal spiegeln:
Delphi-Quellcode:
klappt aber nich
procedure VertikalSpiegele(Bild1:TImage);
var x,y:integer; hilf : TColor; begin for x:=0 to Bild1.width - 1 do for y:=0 to Bild1.height div 2 - 1 do begin hilf := Bild1.canvas.pixels[x,y]; Bild1.canvas.pixels[x,y]:=Bild1.canvas.pixels[Bild1.height-1-y,x]; Bild1.canvas.pixels[Bild1.height-1-y,x] := hilf; end end; |
Re: Bild Horizontal spiegeln (vertikal klappt)
schonmal versucht in den letzten beiden zeieln x und y wieder zu tauschen? also
Delphi-Quellcode:
Bild1.canvas.pixels[x,y]:=Bild1.canvas.pixels[x,Bild1.height-1-y];
Bild1.canvas.pixels[x,Bild1.height-1-y]:= hilf; Zu erklärung der ursprünglichen Methode: stell dir ein Bild vor das 10 Pixel breit ist und 5 hoch oben links ist pixel (0,0) und unten rechts damit (9,4) die erste schleife geht von 0 bis 4 (4:= 10 div 2 -1) die zweite geht die zeien durch, also 0 bis 4 1. merke dir farbe x,y also (0,0) 2. setze farbe x,y := farbe (9,0) 3. setze farbe x,y ;= gemerkte farbe. verstanden? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz