DirectX-Forum - Beitragsübersicht -
ThemaSDX: 2D mit Direct3D9
Von Cheaterhater
Datum 21. Juli 2010 um 21:24:04
Frage Hallo,

ich bin's mal wieder
Ich wollte in einem meiner Projekte, das zuerst MDX benutzte, auf SlimDX umsteigen. Das Programm selbst stellt zweidimensionale Texturen mithilfe von Direct3D9 dar. Mit MDX konnte ich meine Texturen mithilfe von Draw2D prima zeichnen, doch diese Funktion gibt es in SlimDX nicht, weswegen ich Draw benutzen muss.
Das Problem ist nur: Das Formular hat eine Größe von 229x261 Pixeln (Windowed), die Textur, die ich zeichnen möchte, hat ebenfalls diese Größe (diese wird aus einem Stream erzeugt). Wenn diese Textur dann mithilfe von Draw gezeichnet wird, hat sie auf dem Formular jedoch eine Größe von 82x142 Pixeln, es stimmt also weder die Größe noch das Seitenverhältnis. Ich weiß, dass ich die Textur mithilfe von Transform skalieren kann, allerdings fehlt mir das Seitenverhältnis dazu. Wenn ich den Faktor aus Originalgröße und endgültiger Größe nehme, kann ich die Textur nur ungefähr auf die richtige Größe bringen, d. h. die Textur sieht leicht verschwommen aus, was mich darauf schließen lässt, dass diese 82x142 Pixel intern etwas anders aussehen.
Ich habe außerdem herausgefunden, dass sich das richtige Seitenverhältnis herstellen lässt, wenn ich die Breite meines Bildschirms (Auflösung ist 1024x768) durch die Breite des Formulars teile (und das gleiche mit den Höhen tue) und diese Werte als Faktoren zum Skalieren benutzen. Das könnte allerdings auch einfach Zufall sein, und außerdem bekomme ich mit dieser Methode nicht die richtige Größe, sondern nur das Seitenverhältnis.
Jetzt benötige ich also entweder eine Methode, mit der ich die Textur in Originalgröße auf das Formular zeichnen kann, oder aber eine Möglichkeit, um die exakte Größe des Bildes, das letzten Endes gezeichnet wird, zu ermitteln, damit ich das ganze entsprechend skalieren kann.

Ich hoffe, jemand versteht meine Problematik und kann mir helfen. Danke im Voraus!
Antwort:
Von Nico
E-Mail nico.schertler@gmx.de
Datum 22. Juli 2010 um 08:28:31
Antwort Hallo!

Das klingt ja ganz so, als hättest du deine Projektions-Matrix nicht richtig eingestellt. Sind da noch Werte vom ganzen Bildschirm mit drin?
Andere Möglichkeit: Hat die Textur bei der Erstellung schon die richtige Größe? Oder gibst du da Parameter an, die eine andere Größe spezifizieren?

Nico
[ Antwort schreiben | Zurück zum DirectX-Forum | Forum-Hilfe ]
Antworten
SDX: 2D mit Direct3D9 - Cheaterhater 21. Juli 2010 um 21:24:04
Re: 2D mit Direct3D9 - Nico 22. Juli 2010 um 08:28:31
Re: 2D mit Direct3D9 - mdx 22. Juli 2010 um 10:32:52
Re: 2D mit Direct3D9 - Cheaterhater 22. Juli 2010 um 14:59:32
Re: 2D mit Direct3D9 - Nico 22. Juli 2010 um 20:07:08
Re: 2D mit Direct3D9 - Cheaterhater 22. Juli 2010 um 20:41:41

Ihre Antwort
(Nick-)Name   Wichtige Informationen zur Namensangabe
E-Mail (opt.)  Wichtige Informationen zur Angabe einer eMail-Adresse
Thema   Wichtige Informationen zur Angabe eines Themas
Betrifft (IDE)  SlimDX
Ihre Antwort
Smilies
Mehr...
FettKursivUnterstrichen   Übersicht der Tipp-KürzelÜbersicht der Projekt-KürzelÜbersicht der Bücher-Kürzel 
Homepage
Titel
Root-Smilies              
             
             
[ Zurück zum DirectX-Forum | Forum-Archiv | Forum-Hilfe | Chat ]

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB.Net | .Net-Forum | DirectX | DirectX-Forum | Chat | Ausschreibungen | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 13. Dezember 2015