Bildbreite/Höhe

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Bildbreite/Höhe

Beitrag von Konne »

Hi@all

Für mein neues Projekt muss ich die Bildbreite/höhe eines Bildes erfahren OHNE es davor zu laden. (Weil ich nur wenig Platz hab also keine Encoder)

Wenn das irgendwie geht wär ich dankbar wenn ihr posten könntet.
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Man kann die Bildgröße aus der Datei auslesen.
Welche Art Bild ist es denn? JPG, BMP, PNG, GIF...?
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

eigendlich .gif sollte aber auch bei anderen formaten gehen (bmp, png, jpg) aber eigendlich gif
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Auf www.wotsit.org gibts zu vielen Dateiarten die Spezifikation, unter anderem auch von GIFs: http://www.wotsit.org/search.asp?page=17&s=ALLFILES
Einfach mal stöbern, dann findest du sicher, was du brauchst.
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Code: Alles auswählen

Structure GifHeader
  ; Header
  Signature.b[3]      ;     Header Signature (always "GIF")
  Version.b[3]        ;       GIF format version("87a" or "89a")
  ; Logical Screen Descriptor
  ScreenWidth.w       ;       Width of Display Screen in Pixels
  ScreenHeight.w      ;      Height of Display Screen in Pixels
  Packed.b            ;            Screen and Color Map Information
  BackgroundColor.b   ;   Background Color Index
  AspectRatio.b       ;       Pixel Aspect Ratio
EndStructure

Structure GifImageDescriptor
  Left.w        ;          X position of image on the display
  Top.w         ;           Y position of image on the display
  Width.w       ;         Width of the image in pixels
  Height.w      ;        Height of the image in pixels
  Packed.b      ;        Image and Color Table Data Information
EndStructure

File = ReadFile(#PB_Any, OpenFileRequester("Öffnen...", "", "GIF|*.gif", 1))
If File
  ReadData(@GifHeader.GifHeader, SizeOf(GifHeader))
  While Eof(File) = 0 And ReadByte() <> $2C ;Erkennung des ImageDescripors
  Wend
  ReadData(@GifImgDesc.GifImageDescriptor, SizeOf(GifImageDescriptor))
  ;Alle Frames:
  Debug GifImgDesc\Width
  Debug GifImgDesc\Height
  ;Nur 1 Frame:
  Debug GifHeader\ScreenWidth
  Debug GifHeader\ScreenHeight
  CloseFile(File)
Else
  MessageRequester("ERROR", "")
EndIf
Für GIF.
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
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Vielen Dank :allright:
Antworten