Einsteigerfrage zu CreateSprite3D

Anfängerfragen zum Programmieren mit PureBasic.
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Einsteigerfrage zu CreateSprite3D

Beitrag von Martin66119 »

Aller Einstieg ist schwer!

ich versuche gerade mal ein 3Dsprite zu laden.

Das Bild das ich dazu verwende hat leiter nicht das Format 256x256 (bzw. ein Format entsprechend der Hilfe zu CreateSprite3D). Wie kann ich denn ein beliebiges Bild in das entsprechende Format umwandeln.

Als Beispiel verwende ich den im Verzeichnis ....PB Beta 10\Main\Examples\Sources\Sprite3D.pb enthaltenen Code. In diesem möchte ich jedoch ein eigenes Bild verwenden.

Kann mir jemand bitte helfe!!!!!!!!
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Hi!
Deine Frage ist ja nicht gerade PB-Spezifisch und gehört daher eher in die Laberecke, aber nungut ^^ :D

Paint öffnen, Bild laden, Str + E drücken, und die gewünschte Pixelzahl eingeben.
Ist zwar nicht die beste Lösung wo gibt, aber sie funktioniert "auf die Schnelle".

Gr33tz
Tafkadasom2k5

P.S.: Den Nachteil an dieser Veränderung mit PAINT wirst du früh genug bemerken-sie hindert aber nicht am Verwenden ;) :allright:
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Soweit ich weiß

Beitrag von Xaby »

kannst du Sprites in jeder Größe erstellen, aber dann laufen sie nicht optimal oder sogar gar nicht auch jeder Grafikkarte.

Du könntest dir erstmal die DrawImage() Funktionen und die SpriteFunktionen ansehen.

Du könntest, ein eigens Bild, dass z.B. 100 x 50 ist auf ein Sprite malen, dass 128 x 128 ist. Und mit ZoomSprite dann auf deine Größe Strecken.

Machste so

#Bild1=1
#Sprite1=2
#Sprite3D=3

LoadImage(#Bild1...)

CreateSprite(#Sprite1...128,128)

StartDrawing(SpriteOutPut(#Sprite1))
DrawImage(#Bild1,0,0,128,128)
StopDrawing()

CreateSprite3D(#Sprite3D, #Sprite1)

...

ZoomSprite(#Sprite3D, 100, 50, 0) ...
Start3D()
DisplaySprite3D(#Sprite3D...)
Stop3D()

Also, der Code ist vielleicht nicht perfeckt und könnten fehler drin sein, aber die Theorie dürfte klar sein.

:shock:
Kinder an die Macht http://scratch.mit.edu/
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

die idee von Xaby ist nicht übel...

man muss zwar dafür rumrechnen, um auf das streckformat zu kommen,
sollte aber gehen, is nur n doppelter dreisatz...

problematischer finde ich, dass ne menge ungenutzter raum um das sprite herum mit geladen wird,
also, die lösung ist verwendbar für kleines gedaddele, nicht für projekte.
man könnte sich auf diesem wege ein tool schreiben, aber wozu, wenns das schon gibt:

The GIMP: www.gimp.org
PhotoFiltre: www.photofiltre.com
IrfanView: www.irfanviwe.de

PGS=Pure GraphicShop= www.pure-graphicshop.de
ist in PureBasic geschrieben von Franky hier ausm Forum.

für deine problemstellung empfehle ich irfanwiev, weil es am kleinsten und einfachsten ist,
der algorythmus zum verkleinern ist lichtjahre besser als der von Paint.

PhotoFiltre hat ne menge zusätzliche Features, isn ganz schickes teil.

TheGIMP ist der Ersatz für Photoshop für jemanden, der sich diesen nicht leisten kann/will, und keine schwarzkopien benutzen mag.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten