Bitmap nach Z drehen

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Bitmap nach Z drehen

Beitrag von felix96 »

Hallo,
wie kann ich ein Bitmap nach hinten drehen?
(Seitenansicht: | zu /, wobei ich es von vorne bräuchte).

Danke für's lesen :P
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Bitmap nach Z drehen

Beitrag von MAC »

ich versteh zwar nicht so ganz was du meinst. :mrgreen: Aber z hört sich nach tiefe an. Also nach der Frage: ob das Image jetzt über den Button liegt oder darunter.
mit

Code: Alles auswählen

Image1.BringtoFront;
 Image1.SendtoBack;

kannst du das image in den vordergrund holen, bzw in den hintergrund schicken.
Wenn du es nur an 3ter stelle haben willst must du verketten --> in vordergrund schicken und 2 andere darüber senden.

Trotzdem solltest du beachten das (unter windows ?) ein Image (sowie label) nicht Buttons verdecken können.
D.H wenn dein Image über einen Button liegen soll hast du pech. Jetzt könntest du natürlich dein Image auf ein Oanel legen und das Oanel über den Button, das wäre kein Problem :D (hat den nachteil das images mit alphawert den hintergrund vom panel, nicht von form1 anzeigen.

Ich hoffe ich konnte dir helfen.

Code: Alles auswählen

Signatur := nil;

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Bitmap nach Z drehen

Beitrag von Euklid »

Ich könnte der knappen Meldung von Felix auch nicht sonderlich viel entnehmen, wenn er sich nicht im IRC-Channel darüber geäußert hätte.

Ich befürchte, felix möchte das Bild dreidimensional drehen, damit es so aussieht, als ob es nach hinten gekippt ist.
Das ist nach meiner Einschätzung nicht ohne komplizierte Mathematik zu schaffen. Felix scheint eine Komponente zu suchen, die das schon kann.

Viele Grüße, Euklid

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Re: Bitmap nach Z drehen

Beitrag von creed steiger »

Euklid hat geschrieben:Das ist nach meiner Einschätzung nicht ohne komplizierte Mathematik zu schaffen. Felix scheint eine Komponente zu suchen, die das schon kann.

Viele Grüße, Euklid


http://www.ksdev.com/dxscene/index.html
kann das.
Leider nicht ganz billig,aber die Demos sind schon beeindruckend.

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Bitmap nach Z drehen

Beitrag von MAC »

also 3 dimensional ist eigentlich einfach...

man muss sich nur nen bisschen mit sinus und cosinus anfreunden (ok, man kanns auch ohne grundwissen mit opengl machen, aber das ist kompliziert 8) )
und der vorteil ist du findest dich richtig cool, wenn da ein ganz hässliches, aber selbst gemachtes 3d objekt rummschwebt :)

das ist uner image von rechts berachtet.

|
|
|
|
|
|
|
|

jetzt : ( punkte in der mitte sind nur platzthalter...)
Wir das obere Ende um A drehen wollen.

Unser Punkt anfang
|-------
|.......------ <-UNSER PUNKT ENDE
|............/
|........../
|......../
|....../
|...../
|.A./
|/ <-- drehpunkt.... Hier 0,0 wenn man um 50,50 drehen will muss man bild eben so "verschieben" das es auf 0,0 liegt xD

wobei A unser winkel ist und die Y-koordinate von unserem neuen punkt, die Y-koordinate vom alten Punkt ( y-koord. = Höhe) Mal den sinus von A (sin(a)) ist.
(ich weis nicht ob das in bogenmaß oder gradmaß ist, das kann man aber testen , einfach mal sin 360 eingeben und schauen ob 0 rauskommt, dann ist alles ok.)

Code: Alles auswählen

Signatur := nil;

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Bitmap nach Z drehen

Beitrag von felix96 »

MAC hat geschrieben:das ist uner image von rechts berachtet.

|
|
|
|
|
|
|
|

jetzt : ( punkte in der mitte sind nur platzthalter...)
Wir das obere Ende um A drehen wollen.

Unser Punkt anfang
|-------
|.......------ <-UNSER PUNKT ENDE
|............/
|........../
|......../
|....../
|...../
|.A./
|/ <-- drehpunkt.... Hier 0,0 wenn man um 50,50 drehen will muss man bild eben so "verschieben" das es auf 0,0 liegt xD


Genau so was bräuchte ich, nur halt von Vorne.
Gibt es für so was 'ne Unit?
Sinus und Kosinus hatte ich noch nicht in der Schule .-(
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Bitmap nach Z drehen

Beitrag von MAC »

das ist von vorne, ich hab das nur von der seite abgebildet damit man den unterschied sieht :)

ja ne unit gibt es. entweder nimmst du die 1 zeile die ich dir gegeben hab ( dann hast du zwar den effekt, aber das bild sieht zusammengestaucht aus, mehr nicht).
Du kannst es auch über opengl versuchen, da reicht ein eifnaches gl_rotated(90,1,0,0) um das bild 90 grad um die x achse zu drehen. Dann hast du aber nen richtiges 3 Dimensionales Programm, ink hardwareunterstützung deiner grafikkarte (dafür brauchst du eine "halbwegs aktuelle" , also maximal 15 Jahre alte Grafikkarte :mrgreen: ) - Ist eigentlich vollkommen überdimensioniert, aber wieso nicht ( http://wiki.delphigl.com/index.php/Tutorial_Quickstart ) ;)

Wenn du noch kein sinus hattest, dann ab in die schule, auch wenn die wegen schneechaos ausfällt :lol:
ne, ich empfehle dir das nachzuholen, ist eigentlich ganz einfach und unter youtube findet man gute tutorials die einem das in 5 min erklären...

Code: Alles auswählen

Signatur := nil;

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Bitmap nach Z drehen

Beitrag von corpsman »

Hossa,

Wenn du es mit OpenGL machst ist das wirklich kein großes Ding, aber du bist dann halt auf ein OpenGL Rendering Context angewiesen, und kommst da so einfach auch nicht heraus.

Zudem musst du die Perspektivische Verzerrung noch extra deaktivieren ( GlOrtho ( ...) )

Evtl verrätst du uns wofür du dein Umkippendes Bild eigentlich brauchst, und uns fällt noch eine "einfachere" / "geeignetere" Lösung auf.
--
Just try it

Antworten