AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Image drehen

Ein Thema von TimerTim · begonnen am 14. Jul 2007 · letzter Beitrag vom 1. Aug 2007
Antwort Antwort
Seite 3 von 3     123   
TimerTim

Registriert seit: 17. Jun 2007
Ort: Petershagen
66 Beiträge
 
Delphi 7 Personal
 
#21

Re: Image drehen

  Alt 27. Jul 2007, 10:01
Meinst du etwa das hier?
Zitat von NamenLozer:
Hi,

Graphics32 ist eine Sammlung aus Delphi Units, die du kostenlos herunterladen und installieren darfst.
Für die Graphics32-Bibliothek brauchst du auch keine komplexen Formeln zu kennen, denn gerade die werden dir ja abgenommen.

Ich habe für meinen Smileymaker, den ich etwa vor einem jahr geschrieben habe eine Procedure aus einem Beispiel von der Gr32-Bibliothek abgewandelt, mit der das Drehen ziemlich einfach ist. Dafür musst du die Graphics32 Bibliothek installieren und die Unit Gr32 in die uses-Liste aufnehmen:
Delphi-Quellcode:
// Src ist das Quellbitmap
// Dst ist das Bitmap, auf das du das Quellbitmap gedreht zeichnen willst
// Angle ist ein Winkel im Bogenmaß (Umrechnung: Gradmaß*pi/180)
// X und Y markieren die Position, an die das Quellbitmap auf das Zielbitmap gemalt wird. (Brauchst du nicht, hab es aber nicht extra geändert. Gib eifnach für Beides 0 an, ich hoffe,d as klappt)
procedure Rotate(const Src: TBitmap32; const Dst: tBitmap32; Angle: Single; x,y: integer);
var
  SrcR: Integer;
  SrcB: Integer;
  T: TAffineTransformation;
  Sx, Sy, Scale: Single;
begin
  SrcR := Src.Width - 1;
  SrcB := Src.Height - 1;
  T := TAffineTransformation.Create;
  T.SrcRect := FloatRect(0, 0, SrcR + 1, SrcB + 1);
  try
    // shift the origin
    T.Clear;

    // move the origin to a center for scaling and rotation
    T.Translate(-SrcR / 2, -SrcB / 2);
    T.Rotate(0, 0, Angle);

    // move the origin back
    T.Translate(SrcR / 2, SrcB / 2);

    // zu x und y bewegen
    T.Translate(x,y);

    // transform the bitmap
    Transform(Dst, Src, T);
  finally
    T.Free;
  end;
end;
Aufrufen kannst du das so (ungetestet):
Delphi-Quellcode:
var
  Bmp32: TBitmap32;
begin
  Bmp32 := tBitmap32.Create;
  Bmp32.Assign(Image1.Picture.Bitmap);
  Rotate(Bmp32,Bmp32,45*pi/180,0,0);
  Image1.Picture.Bitmap.Assign(bmp32);
  Bmp32.Free;
end;
Ich kann Graphics32 aber nicht downloaden:

Zitat von TimerTim:
Hallo,

wenn ich die Datei öffne, erscheint eine Fehlermeldung, und wenn ich sie kompiliere, zeigt Delphi an:

[Fataler Fehler]GR32_D7.dpk[51]: Datei nicht gefunden: 'GR32.dcu'.

(Sorry, dass das Antworten so lange gedauert hat, ich war letzte Woche im Urlaub.)



Zitat von Blackheart:
Auf der Seite war ich auch schon, aber ich weiß nicht, welchen Teil des Quelltextes ich kopieren muss.
Meine Homepage: www.tim.niepoetter.com
Neu auf meiner Homepage: Programmieren, Mathematik, Lolliges, Blog, Sonstiges
Bitte schreibt etwas ins Gästebuch!!!
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#22

Re: Image drehen

  Alt 27. Jul 2007, 10:25
Ja, das mein ich. Mach halt nen neuen Thread auf ala "Wie installiere ich Graphics32" und frag dort nach Hilfe.
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#23

Re: Image drehen

  Alt 1. Aug 2007, 00:26
Das ganze habe ich mal mit PlgBlt gemacht, einmal das Bild abspeichern und dann noch um die eigene Achse drehen. Allerdings sieht das wegen den Treppeneffekten auch nicht besonders aus.
Angehängte Dateien
Dateityp: zip plgblt_741.zip (100,0 KB, 56x aufgerufen)
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz