c - Hvad er Windows DIB?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg diskuterede bare, om der var et alternativ Windows-grafikbibliotek til GDI & Direkte X i et forum. Nogen nævnte WinDIB . Desværre forklarede han ikke mere om det.


Nu har jeg søgt google.



  • Der synes ikke at være nogen Wikipedia-artikel om Windows DIB.

  • Det ser ud til at nogle grafiske biblioteker som SDL bruger en WinDIB backend .



Så hvad er WinDIB ? Er der nogen dokumentation til det? Hvor kan jeg lære mere om det?

Bedste reference


DIB står for Device Independent Bitmap . Det er et Windows-specifikt generelt bitmap format. I det væsentlige er det formatet af en Windows [[.bmp]] fil. Det er meget nyttigt som et mellemformat for at f.eks. præsentere OpenCV-billeder i native Windows-vinduer.


F.eks. Understøtter min ColorDib.h-fil fra de sidste par dage en begrænset delmængde af DIB-formaterne, nemlig paletten-fri RGB-billeder. Jeg har brugt det til at vise OpenCV-video i et indbygget Windows-vindue. Faktisk er fuldstændig kilde til det i Bitbucket-depotet, at linket går til. [2]


Microsoft tilbyder ikke meget Windows API-niveaufunktionalitet til læsning eller skrivning af BMP/DIB-filer. I gamle dage var alt der var der OleLoadPicturePath og venner, plus genbrug af webbrowseren, hvis du kunne lide at gøre på meget ineffektive, komplekse og underlige måder plus en smule forfærdelig kode fremlagt i dokumentationen. Så kom GDI +, som, selv om det var langt fra perfekt, forenklet meget. Og i dag er det ikke noget problem, undtagen når man programmerer rent på API-niveauet, hvor en klasse som den, jeg linker til ovenfor, kommer meget praktisk.

Andre referencer 1


Windows Embedded CE og DirectX bruger den enhedsuafhængige bitmap (DIB) som deres oprindelige grafikfilformat.


En DIB er en fil, der indeholder oplysninger, der beskriver følgende:

Et billede s dimensioner,

Antallet af farver billedet bruger,

Værdier, der beskriver de anvendte farver,

Data, der beskriver hver pixel.



En DIB indeholder også mindre anvendte parametre, som:

  Oplysninger om filkomprimering,

 Væsentlige farver (hvis alle ikke bruges),

 Fysiske dimensioner af billedet (hvis det kommer til ende i print).



DIB-filer har normalt .bmp filtypen, selvom de kan bruge en .dib udvidelse.
Fordi DIB er så gennemsigtig i Windows programmering, indeholder Windows Embedded CE mange funktioner, du kan bruge med DirectX.



SOURCE

http://msdn.microsoft.com/en-us/library/aa917106.aspx [3]

Andre referencer 2


DIB er Device Independent Bitmap. Flere detaljer om MSDN og Wikipedia. Jeg forventer, at det der blev henvist til. [4] [5]