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:

BMPs einbinden in Free Basic

 
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
Thorben



Anmeldungsdatum: 26.04.2005
Beiträge: 173
Wohnort: SH

BeitragVerfasst am: 28.04.2005, 19:15    Titel: BMPs einbinden in Free Basic Antworten mit Zitat

Hallo

Hat vieleicht einer fon euch eine gute Methode parat um BMPs einzubinden
meine alte Variante von QB 4.5 leuft nemlich nicht mehr

MFG Thorben
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Bernd



Anmeldungsdatum: 14.09.2004
Beiträge: 498
Wohnort: Kulmbach

BeitragVerfasst am: 29.04.2005, 12:50    Titel: Antworten mit Zitat

Hallo, das ist eigentlich kein Problem mehr, dank der integrierten Grafiklib...

hier mal ein Code:

Code:

DIM image(64004) AS UBYTE
SCREEN (beliebiger Graphikscreen)
BLOAD "image.bmp", VARPTR(image(0))
PUT (0,0), image


achtung, das BMP muss mit 256 Farben gespeichert werden und darf auch nicht zu groß sein, so jedenfalls meine Erfahrung...

Bernd
_________________
Neue Homepage: http://www.glubb.rockt.de

UND

Der Wahnsinn hat seine eigene Homepage: http://pulmollwand.rulz.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 29.04.2005, 14:23    Titel: Antworten mit Zitat

Für 16/24-Bit-BMPs kann ich dir nur freeImage empfehlen.

Code:

'$INCLUDE: 'FREEIMAGE.BI'

declare Sub ShowBMP (File AS STRING, x as integer, y as integer)

screen 19, 24
Freeimage_Initialise

ShowBMP "bild.jpg", 100, 100

GetKey

sub ShowBMP (file as string, xs as integer, ys as integer)
   dim fif as Free_Image_Format
   dim Info as FIBitMap ptr

   fif = 2
   Info = FreeImage_Load (fif, file)
   
   bpp = FreeImage_GetBPP    (Info)
   wid = FreeImage_GetWidth  (Info)
   hei = FreeImage_GetHeight (Info)
   
   for x = 0 to wid - 1
      for y = 0 to hei - 1
         c = 0
         c = c or Peek(ubyte, Info + ((bpp \ 8) * x) + ((bpp \ 8) * wid * y) + 386) 'Rot
         c = c shl 8
         c = c or Peek(ubyte, Info + ((bpp \ 8) * x) + ((bpp \ 8) * wid * y) + 385) 'Gruen
         c = c shl 8
         c = c or Peek(ubyte, Info + ((bpp \ 8) * x) + ((bpp \ 8) * wid * y) + 384) 'Blau
         PSET (x + xs, y + ys), c
      next
   next
end  sub


Wie du siehst, kannst du mit FI auch JPGs verwenden. Wenns trotzdem ne BMP sein soll, einfach in der SUB ShowBMP (a bisl falscher Name, was?) des FIF = 2 zu FIF = 0 ändern.
und natürlich den dateinamen.

Es sollte auch ne FUNCTION FI_GetPictureType (File AS STRING) geben, aber ich bin mir momentan ned ganz sicher.

Einziger Nachteil des ganzen: Die DLL is ca 900KB groß, und für miniprogs daher ned wirklich geeignet. wenns aber was größeres wird (n Spiel oder so), kanns dir sehr viel arbeit abnehmen.
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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