AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [DelphiX] DrawRotate
Thema durchsuchen
Ansicht
Themen-Optionen

[DelphiX] DrawRotate

Ein Thema von Gentleman · begonnen am 20. Feb 2005 · letzter Beitrag vom 26. Jul 2006
Antwort Antwort
Gentleman

Registriert seit: 29. Sep 2004
302 Beiträge
 
Turbo Delphi für Win32
 
#1

[DelphiX] DrawRotate

  Alt 20. Feb 2005, 19:14
Hi!

Ich weiß, dieses Thema ist schon einige Male hier behandelt worden, allerdings habe ich nicht das gefunden, was ich Suche. ich hoffe ihr könnt mir bei mienem Problem weiterhelfen.

Ich drehe ein bild mit folgendem Code, in DelphiX:
Delphi-Quellcode:
DXImageList1.Items[0].DrawRotate(DXDraw1.Surface, 100, 100, 100, 50, 0, 0, 0, r);
DXDraw1.Flip;
Das Problem dabei ist, dass das Bild am Punkt (0/0) gedreht wird. Ich möchte es aber gerne genau in der Mitte drehen . Wie kann ich das anstellen?

thx im Voraus!
Lennard
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger. (Kurt Tucholsky)
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#2

Re: [DelphiX] DrawRotate

  Alt 20. Feb 2005, 19:27
Der erste Schritt wäre, sich mal die Parameterliste anzuschauen. Ich wette, dass zwei der drei Nuller da hinten das Drehzentrum angeben -- ohne die Funktion oder ihre Parameter zu kennen.
  Mit Zitat antworten Zitat
Gentleman

Registriert seit: 29. Sep 2004
302 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: [DelphiX] DrawRotate

  Alt 20. Feb 2005, 19:42
Ja da hast du recht, wenn ich dort aber andere Zahlen eintrage wird kein Bild mehr angezeigt.
Lennard
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger. (Kurt Tucholsky)
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#4

Re: [DelphiX] DrawRotate

  Alt 20. Feb 2005, 19:58
Ich hatte auch mal das Problem
Die Funktion DrawRotate funktionierte bei mir auch nur, wenn ich das Bild um 0:0 gedreht habe
dann muss man selber die neue Koordinate für das Eck links oben berechnen (->sin & cos)
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#5

Re: [DelphiX] DrawRotate

  Alt 20. Feb 2005, 20:17
Zitat von Chimaira:
Ich hatte auch mal das Problem
Die Funktion DrawRotate funktionierte bei mir auch nur, wenn ich das Bild um 0:0 gedreht habe
dann muss man selber die neue Koordinate für das Eck links oben berechnen (->sin & cos)
Diese Parameter sind double-Werte dementsprechend ist 0.5 die Mitte
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#6

Re: [DelphiX] DrawRotate

  Alt 20. Feb 2005, 20:47
Zitat von jim_raynor:
Zitat von Chimaira:
Ich hatte auch mal das Problem
Die Funktion DrawRotate funktionierte bei mir auch nur, wenn ich das Bild um 0:0 gedreht habe
dann muss man selber die neue Koordinate für das Eck links oben berechnen (->sin & cos)
Diese Parameter sind double-Werte dementsprechend ist 0.5 die Mitte
Ich hab damals wohl doch nich alles ausprobiert
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
smc

Registriert seit: 21. Dez 2005
49 Beiträge
 
#7

Re: [DelphiX] DrawRotate

  Alt 26. Jul 2006, 10:34
hallo,

ich will nun kein neues thema deswegen aufmachen, aber kann mir jemand die definitionen von drawrotate erklären?

DXImageList1.Items[0].DrawRotate(DXDraw1.Surface, 100, 100, 100, 50, 0, 0, 0, r);

was DXDraw1.Surface bewirkt ist mir klar, aber was danach folgt ist mir unklar (besonders dieses r)

edit: hat sich erledigt

habe folgendes per google gefunden

Zitat:
Found this cool site that explains many things:
http://www.cerebral-bicycle.co.uk/viewdoc.asp?doc=37

So, here is the function details:
DrawRotate( Surface, X , Y, Width, Height, PatternIndex, CenterX, CenterY, Angle);

Surface: TDirectDrawSurface that image is drawn to, usually DXDraw.Surface.
X,Y: Draw point. Image rotates around it.
Width,Height: New width and height can be set to scale image, or set original values.
PatternIndex: Set this to 0, unless you have image-grid that has patterns for animation.
CenterX,CenterY: Defines weight-point for rotation. Normally 0.5, or in range 0..1.
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:38 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