PB440B1 - CatchSprite zeigt verdrehtes und gespiegeltes Bild

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
sharkpeter
Beiträge: 474
Registriert: 29.08.2004 16:18
Wohnort: Dresden
Kontaktdaten:

Beitrag von sharkpeter »

@Falko,

nicht CatchImage, sonder CatchSprite ;)

Und die Systeme waren: alle die unten drunter stehen

Gruß Jens
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64

Nichts wissen macht nichts, sich dumm stellen aber schon.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

sharkpeter hat geschrieben:@Falko,

nicht CatchImage, sonder CatchSprite ;)

Und die Systeme waren: alle die unten drunter stehen

Gruß Jens
Dann muss es eigentlich an der Graka liegen.
Kannst du mal folgenden Source laufen lassen und schauen was der Debugger für ne Zahl ausgibt? Bei mir ist es 64 und das Bild ist richtig.

Code: Alles auswählen

InitSprite()
OpenWindow(0,100,100,300,200,"Test CatchSprite")
OpenWindowedScreen(WindowID(0),0,0,300,200,0,0,0)
CatchSprite(0, ?Pic)

StartDrawing(SpriteOutput(0))
Debug DrawingBufferPixelFormat()
StopDrawing()


DisplaySprite(0,10,10)
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow

End

Pic: IncludeBinary "F:\Purebasic4_4BetaX86\Examples\Sources\Data\PureBasic.bmp
Pfad muss wieder angepasst werden.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Bei mir sind es auch 64 und das Bild wird korrekt angezeigt.

Ein Test aber anstelle mit PureBasiclogo.bmp was im englischen Forum geschrieben wurde, ein 32-Bit-BMP zeigt es nun Spiegelverkehrt an. Komsich.
Aber nur, wenn ich deinen Source mit den hinzugefügten

StartDrawing(SpriteOutput(0))
Debug DrawingBufferPixelFormat()
StopDrawing()

benutze. Ohne dem habe ich das Bild korrekt. Also kann das nicht an
der Grafikkarte liegen.

http://www.purebasic.fr/german/viewtopi ... atch=topic

Hier mit der 32-Bit-Grafik

Code: Alles auswählen

InitSprite()
OpenWindow(0,100,100,400,100,"Test CatchSprite")
OpenWindowedScreen(WindowID(0),0,0,400,100,0,0,0)
CatchSprite(0, ?Pic)

StartDrawing(SpriteOutput(0))
Debug DrawingBufferPixelFormat()
StopDrawing()


DisplaySprite(0,10,15)
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow

End

Pic: IncludeBinary "F:\Purebasic4_4BetaX86\Examples\Sources\Data\PureBasiclogo.bmp"
Debug gibt 64 aus und das Bild ist Spiegelverkehrt und horizontal gekippt.


Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Tatsache, bei mir das gleiche.
Allerdings ist bei mir egal ob StartDrawing() aufgerufen wird oder nicht. In jedem Fall wird das 32bit Bitmap falsch angezeigt.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Und wieder ne neue Info: Tritt mit jedem Subsystem auf ausser DirectX9. Dieses zeigt das Sprite richtig an.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Thorium hat geschrieben:Und wieder ne neue Info: Tritt mit jedem Subsystem auf ausser DirectX9. Dieses zeigt das Sprite richtig an.
Bestätigt. :allright:
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
sharkpeter
Beiträge: 474
Registriert: 29.08.2004 16:18
Wohnort: Dresden
Kontaktdaten:

Beitrag von sharkpeter »

@Thorium,

da der Grund ja nun irgendwie feststeht, habe ich deinen Code nicht
probiert, aber trotzdem danke.

Das mit dem Eintrag in die Compileroptionen stimmt, dann geht es bei
mir auch richtig.

Hier für alle die es auch sehen möchten mal noch ein Zip:

http://www.jhc-software.de/Programme/Pu ... sprite.ZIP

Gruß Jens
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64

Nichts wissen macht nichts, sich dumm stellen aber schon.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Da das hier grad in Verbindung mit Bitmaps gebracht wird:
Bitmaps haben im Header eine Angabe für die Höhe, die sowohl positiv, als auch negativ sein kann (je nach dem wie das Bild gespeichert wird, verkehrt herum oder richtig rum).
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

DarkDragon hat geschrieben:Da das hier grad in Verbindung mit Bitmaps gebracht wird:
Bitmaps haben im Header eine Angabe für die Höhe, die sowohl positiv, als auch negativ sein kann (je nach dem wie das Bild gespeichert wird, verkehrt herum oder richtig rum).
Interessant. Ich dachte .bmp würden immer auf dem Kopf gespeichert.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Wenn das so ist, was hier auch in Wiki beschrieben wird, fehlt eigentlich eine Abfrage, zum BMP-Format ob die Höhe positiv oder negativ ist.

http://de.wikipedia.org/wiki/Windows_Bitmap

Nur wäre das dann nicht Spiegelverkehrt, sondern nur auf dem Kopf gestellt, oder? Aber in diesen Beispielen ist es beides.

Die neue Konstante #PB_PixelFormat_ReversedY , wie auch immer man diese verwenden kann, ist nur für die Y-Richtung ausgelegt.

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Antworten