JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=34b4ebd2d25c0866003f11926bab1c17Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Skalierung von Bitmaps mit directx9

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
me
Junior JLI'ler



Anmeldedatum: 10.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 09.10.2003, 19:30    Titel: Skalierung von Bitmaps mit directx9 Antworten mit Zitat

hallo,
ich habe ein bitmap geladen, und möchte es nun immer der auflösung anpassen, es also skalieren (benutze directx9, nur directdraw). jedoch weiss ich nicht auf welche methode ich zurückgreifen muss um dies zu bewerkstelligen. bisher habe ich versucht die Height/Width des rectangles zu ändern, was aber nicht funktioniert hat.

kurz kurz kurz, lang lang lang, kurz kurz kurz Wink
help dem n00b dann gehts dir gut ^^
_________________
If something is stupid and it works, it ain't stupid! Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 09.10.2003, 19:41    Titel: Antworten mit Zitat

Benutz doch den Blt befehl da müsste man doch die Grösse angeben können in der du das Bitmap zeichnen willst.

Tip: Berechne die grösse mit Prozenten.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
me
Junior JLI'ler



Anmeldedatum: 10.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 09.10.2003, 22:15    Titel: Antworten mit Zitat

habs jetzt noch hinbekommen. allerdings sehen die bilder immer sehr verpixelt aus, wenn sie von ihrer ursprünglichen auflösung abweichen. weiss jemand was man dagegen tun kann?
_________________
If something is stupid and it works, it ain't stupid! Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 10.10.2003, 08:00    Titel: Antworten mit Zitat

Das geht nicht anders, da ddraw ja im Grunde nur die einzelnen Pixel vergrößert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
me
Junior JLI'ler



Anmeldedatum: 10.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 10.10.2003, 12:53    Titel: Antworten mit Zitat

danke für die informationen. dann werd ich wohl oder übel für jede Auflösung ein Bild erstellen müssen... Sad
_________________
If something is stupid and it works, it ain't stupid! Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 10.10.2003, 13:16    Titel: Antworten mit Zitat

In den meinsten Spielen ist es so, das bei einer höheren Auflösung, einfach mehr vom Spielfeld angezeigt wird.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 10.10.2003, 13:28    Titel: Antworten mit Zitat

Du kannst doch versuchen ne Art "Anti-Alias"-Funktion zu programmieren.
Dann nimmst du einfach den Mittelwert der umliegenden Pixel und setzt mit dieser Farbe den Pixel zwischen den Pixeln des kleinen Bildes.
Bsp:
Du hast eine Pixelreihe(hier ein Ausschnitt von 2 Pixeln):
Code:
\/\/ etc...

Für eine größere Auflösung hast du beispielsweise ein doppelt großes Bild:
Code:
\X/X\ etc...

Hier wird jetzt ein Pixel zwischen das \ und das / eingeschoben. Daraus ergibt sich eine Mischfarbe: X
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 10.10.2003, 17:33    Titel: Antworten mit Zitat

Die Antialiasing Funktionen werden nicht umsonst besonders gut in den Grafikkarten eingebaut. Darauf solltest du verzichten. Programmier das lieber nicht, deine Framerate wird extrem niedrig werden wenn du es nicht 100% richtig programmierst. Steige auf Direct3D um da werden die Pixel interpoliert und das Ergebnis sieht auch noch recht gut aus.

Du kannst aber auch ein Bild zeichnen das so gross ist wie die grösst mögliche Auflösung deines Programms. Beim verkleinern entstehen zwar immer noch hässliche Fragmente aber es sieht besser aus als umgekehrt.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 10.10.2003, 21:09    Titel: Antworten mit Zitat

Es war ja nur ein Vorschlag(falls er unbedingt nicht für jede Auflösung jeweils ein Bild machen will).
Ich würde das auch am Anfang(nach dem Initialisieren der Surfaces/Sprites) berechnen und somit wäre die Framerate nicht betroffen.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
me
Junior JLI'ler



Anmeldedatum: 10.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 11.10.2003, 10:56    Titel: Antworten mit Zitat

ich denke auch dass das anti-aliasing eine gute option ist, nur bisher dachte ich immer das wuerde mir directX und die hardware schon abnehmen. Neutral

ich werde das mal ausprobieren, denn ich denke dass das wirklich die schönste methode (wenn sie denn auch schoen funktioniert) ist, wenn sie in eine loading-sequenz eingebaut wird.

da fällt mir ein:
wisst ihr vielleicht auch noch, welche directx.input eigenschaft einen delay im keyboard-datenstrom verursacht. fuer meine menus ist der konstante datenstrom nämlich eine plage Neutral

ebenso liefert mir die directx-mouse nur delta_x und delta_y zurück, was bei manueller koordinatenberechnung auf dauer ungenauigkeiten herbeifuehrt. gibts da noch eine andere methode?

danke auf jedenfall fuer die hilfreichen informationen Smile
_________________
If something is stupid and it works, it ain't stupid! Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 11.10.2003, 12:14    Titel: Antworten mit Zitat

me hat Folgendes geschrieben:
ebenso liefert mir die directx-mouse nur delta_x und delta_y zurück, was bei manueller koordinatenberechnung auf dauer ungenauigkeiten herbeifuehrt. gibts da noch eine andere methode?

danke auf jedenfall fuer die hilfreichen informationen Smile

Du kannst für Mauskoordinaten genausogut die Callbackfunktion nehmen:
Code:
WM_MOUSEMOVE:
{
mousex=LOWORD(lParam);
mousey=HIWORD(lParam);
break;
}

Ich hatte bis jetzt noch keine Probleme mit Ungenauigkeit/Zeitverzögerung.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
me
Junior JLI'ler



Anmeldedatum: 10.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 12.10.2003, 13:24    Titel: Antworten mit Zitat

thx ffor everything Very Happy

werd mich schon durchbeisse ^^ Neutral
_________________
If something is stupid and it works, it ain't stupid! Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum