Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Aufbau Bildpuffer

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
E-P-S



Anmeldungsdatum: 16.09.2004
Beiträge: 500
Wohnort: Neuruppin

BeitragVerfasst am: 22.02.2008, 23:28    Titel: Aufbau Bildpuffer Antworten mit Zitat

Schon wieder ne Frage.

Ich versuche gerade direkt auf einen Bildpuffer zuzugreifen und frage mich wo exakt die Pixeldaten liegen.

Laut "fbgfx.bi" müsste der Header des Puffers (neue Version) 32 Bytes groß sein. Nur wenn ich direkt ab dort hinein'poke' ist mein Bild irgendwie schräg, sozusagen um einen Pixel pro Zeile verschoben...

Hab ich da irgend einen Denkfehler drin?
_________________
Man kann sich öfter als zweimal im Leben halb tot lachen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 22.02.2008, 23:36    Titel: Antworten mit Zitat

Was hast du denn genau darin verändert? (das macht man jetzt übrigens mit eckigen klammern, nicht mit poke...) Evtl hast du ja die padding bytes verändert...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
E-P-S



Anmeldungsdatum: 16.09.2004
Beiträge: 500
Wohnort: Neuruppin

BeitragVerfasst am: 22.02.2008, 23:43    Titel: Antworten mit Zitat

Ich glaub ich habs grad selbst rausgefunden. Hat wohl was mit den Bildmaßen zu tun bzw. den daraus resultierenden Bytes pro Zeile, ergo dem Pitch.

Muß das mal noch genauer untersuchen. Trotzdem danke.
_________________
Man kann sich öfter als zweimal im Leben halb tot lachen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 23.02.2008, 00:16    Titel: Antworten mit Zitat

achja, pitch war das, nicht padding...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 24.02.2008, 02:05    Titel: Antworten mit Zitat

Pitch wird (soweit ich weiß) zwar nicht auf freebasic.net/wiki erwähnt, allerdings kann man das auch anderweitig erfahren...

Code:
type IMAGE field = 1
    union
        old as _OLD_HEADER
        type as uinteger
    end union
    bpp as integer
    width as uinteger
    height as uinteger
    pitch as uinteger
    _reserved(1 to 12) as ubyte
end type


... z.B. aus der fbgfx.bi.
Wenn man nun "Dim bild As fb.Image ptr" schreibt, kann man direkt darauf zugreifen:

Code:
#include "fbgfx.bi"

#define pixel(pic, x, y) *cast(uinteger ptr, (cast(ubyte ptr, pic) + sizeof(fb.image) + x*bild->bpp + y*(bild->pitch)))

Screenres 1024, 768, 24

Dim bild As fb.Image ptr

bild = Imagecreate(123, 345)
Pset bild, (10, 20), &H123456

Print "breite, anzahl bytes pro zeile: ", bild->width & ",  " & bild->pitch
Print "Pixel an (10, 20) hat den Farbwert: ",hex(pixel(bild, 10, 20))

sleep

_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
E-P-S



Anmeldungsdatum: 16.09.2004
Beiträge: 500
Wohnort: Neuruppin

BeitragVerfasst am: 24.02.2008, 02:09    Titel: Antworten mit Zitat

huiui....da sag ich heftigst DANKE
_________________
Man kann sich öfter als zweimal im Leben halb tot lachen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
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.

 Impressum :: Datenschutz