Grabimage3D

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Silvio

Betreff: Grabimage3D

BeitragDi, Jan 08, 2013 1:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich lade hiermit ein Bild

bild = LoadImage3D("bild1.png")

das bild ist 2x2 pixel groß und sieht so aus:

user posted image

dann will ich einen Pixel "graben" um damit einfarbige Lines und Rects zu malen also mach ich:

bild2 = Grabimage3D(bild,0,0,1,1)
also bei der Stelle 0,0 ein Ausschnitt der Größe 1x1

jetzt lass ich diesen Pixel zeichnen

Drawimage3D(bild2,0,0,0,0,100) hier hab ichs dann mal 100x Skaliert

und jetzt erwarte ich eigentlich, dass ich ein 100x100 Quadrat mit der rosa Farbe, die ich gegrabt hab seh, aber es verläuft:

user posted image


Woran liegt das? bild2 ist doch ein rosa Pixel. Andere Bilder werden beim Skalieren ja auch nicht interpoliert sondern einfach um den Faktor vergrößert, also daran liegts glaub nicht.

danke für die Hilfe.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jan 08, 2013 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist die ganz normale Interpolation von Texeln, wenn ein Texel auf viele Pixel skaliert wird. Diese ist in der Regel auch gewollt, sonst würden Spielegrafiken immer solche Klötzchenbildung haben. Jedoch bei nichtgefallen kann man es auch nicht unterbinden. Zumindest bei Blitz3D. Es ist aber auch nicht notwendig mit solchen Texturen zu arbeiten. Nimm einfach eine weiße Textur und diese färbst du dann nach belieben mit ColorG3D oder ColorN3D ein.

Für DrawImage3D -verwandte Befehle nimmst du ColorG3D(rot,grün,blau,alpha)
Für Native Befehle wie Plot3D, Line3D... nimmst du ColorN3D(rot,grün,blau,alpha)

Im übrigen sollte man für Linien doch lieber Line3D(handle, x1,y1, x2,y1, width) benutzen. Ist nicht nur geringfügig schneller in der Ausführung, sondern auch einfacher in der Handhabe.
 

Silvio

BeitragMi, Jan 09, 2013 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
line3d und rect3d funktioniert ja nicht so, wie beim 2D Blitz Basic. Dort konnte man ja die Zeichenfarbe wählen und dann entweder ne line in der Farbe oder ein gefülltes oder nicht gefülltes Rect zeichnen. Bei Draw3D muss man ja immer ein handle angeben und das hat mich am Anfang echt verwirrt.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Jan 09, 2013 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Bis auf das Handle, was in einem Projekt auch meistens immer das selbe ist, unterscheidet es sich nicht von 2D. Bei einem Rect oder Oval hast du auch bei der Draw3D2 die Möglichkeit diese auszufüllen. Mit Gauss.png hast du einen schönnen Mittelweg zwischen interpolierter (keine Treppenbildung) und ausreichender Deckung.

ColorN3D
für
Plot3D
Line3D
Rect3D
Oval3D
und
Ploy3D

Die Links sind zwar für die alte Draw3D V.3.2 aber die native Befehle haben sich bisher nicht geändert.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group