Problematischer Code?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Eingeproggt

Betreff: Problematischer Code?

BeitragMo, Aug 11, 2008 0:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Einen schönen guten Abend!

Ich brauche für mein Spiel ReadPixelFast auf einem gedrehten Bild. Nun ist es ja so, dass ein Bild rechteckig ist und wenn man es dreht, gibt es am Rand "unbestimmte" Bereiche... Transparente Bereiche, die ja eigentlich nicht zu dem Bild gehören. Ich habe ein Testprogramm gemacht und möchte von euch wissen, ob es jemals zu einem MAV kommen kann bzw. ob ihr beim Testen sogar einen bekommen habt:

Code: [AUSKLAPPEN]
Graphics 800,600,0,2

img=CreateImage(50,50)
SetBuffer ImageBuffer(img)
Color 255,0,0
Rect 0,0,50,50,1
SetBuffer BackBuffer()

RotateImage img,45

LockBuffer ImageBuffer(img)
For x=0 To ImageWidth(img)-1
   For y=0 To ImageHeight(img)-1
      col=ReadPixelFast(x,y,ImageBuffer(img))
   Next
Next
UnlockBuffer ImageBuffer(img)

Repeat
   DrawImage img,100,100
   Text 500,100,"Hat geklappt"
   Flip 0
   Delay 10
Until KeyHit(1)
End


Weil eigentlich verwende ich ReadPixelFast in diesem Falle außerhalb des Bildbereichs, wenn ihr wisst was ich meine. Und da das auf einigen GraKas zu einem MAV führt, will ich auf Nummer sicher gehn. Wär also nett, wenn ihr den Code testet oder wär noch besser, wenn ihr mir aus Erfahrung sagt, dass der Code einwandfrei läuft.

mfG und Danke!
Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Aug 11, 2008 1:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm, wieso außerhalb? Zu zeichnest/liest doch garnicht außerhalb.

Code: [AUSKLAPPEN]
For x=0 To ImageWidth(img)-1
   For y=0 To ImageHeight(img)-1
      col=ReadPixelFast(x,y,ImageBuffer(img))
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Eingeproggt

BeitragMo, Aug 11, 2008 10:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich mache mir Sorgen um den hier im Bild schwarz dargestellten Bereich, wenn man ein Bild dreht:
user posted image
Ich musste gestern feststellen, dass der Bereich zwar auf meinem System ohne Probleme ausgelesen werden kann. (Ergebnis ARGB=255,0,0,0) aber ich weiß nicht, was in diesem Bereich ist. Die Mask-Farbe nämlich nicht. (Diese war ARGB=255,255,255,255)

Daher meine Sorgen, aber umso besser, wenn sie unberechtigt sind Smile

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

D2006

Administrator

BeitragMo, Aug 11, 2008 10:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Beim drehen kommt da immer schwarz hin.* Ich halte es nicht für problematisch. Son Bild ist im Speicher immer rechteckig, da brauchst du dir keinen Kopf zu machen. Ein gedrehtes Bild ist halt einfach größer (in 4 Fällen gleich groß), als das Original.

* wo ich jetzt gerade so drüber nachdenke, glaub ich doch nicht, dass das immer so ist. Bin mir unsicher. Eigentlich dachte ich auch an die Maskfarbe... strange.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

SpionAtom

BeitragMo, Aug 11, 2008 11:01
Antworten mit Zitat
Benutzer-Profile anzeigen
"Hat geklappt"

zu Diensten!
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

BigMaexle

BeitragMo, Aug 11, 2008 11:14
Antworten mit Zitat
Benutzer-Profile anzeigen
"Hat geklappt"

Graka nVidia 8600 GT
--------------------------------------
Ich bin unfreiwillig ein Mitglied dieser kapitalistischen Gesellschaft, wo jeder Geldgeile Unternehmer an mein Geld will und ich selbst bei meinen Entscheidungen so gut wie willenlos bin...... und ich bin glücklich drüber
 

Dreamora

BeitragMo, Aug 11, 2008 11:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Chance das da die cls farbe ist, ist eigentlich grösser, denn bildchen drehen wird vermutlich eher: clear new image, draw the rotated one in" sein.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Tritium

BeitragDi, Aug 12, 2008 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat auch bei mir geklappt.

Radeon 9800Pro

Eingeproggt

BeitragDi, Aug 12, 2008 17:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke!

Also aufgrund der vielen beruhigneden Antworten werd ich das so einsetzen.

Thema ist somit praktisch vom Tisch. (Theoretisch interessiert es mich aber immer noch, was für eine Farbe da in diesen Ecken eigentlich reingegeben wird... Ich habs nochmal getestet... Es ist NICHT die Maskfarbe sondern 255,0,0,0... Und es wird trotzdem nicht dargestellt. Wär auch schön blöd, wenn man ein Bild mit zB Pink masked und dann hat man schwarze Ecken bei der Drehung Smile )

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group