10.02.2014 Aufrufe

Gruppenaufgaben

Gruppenaufgaben

Gruppenaufgaben

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Informatik Praktikum <strong>Gruppenaufgaben</strong> 5/26<br />

Aufgabe 5.4 Bildverwaltung<br />

Schreiben Sie ein Programm ImgInfo.exe, das in dem Verzeichnis, in dem es sich befindet, nach<br />

Bitmaps (Bilddateien) sucht und eine Liste mit folgenden Informationen anzeigt:<br />

Name der Bilddatei<br />

Dateigröße<br />

Breite und Höhe des Bildes in Pixel<br />

Farbtiefe (Bits pro Pixel) des Bildes<br />

Das Suchen nach Dateien in einem Verzeichnis erfolgt mit findfirst() und findnext().<br />

Zusätzlich soll angezeigt werden, wie groß der verbrauchte Speicherplatz aller in diesem<br />

Verzeichnis liegender Bilddateien (Bitmaps) ist. Die benötigten Informationen liegen an bestimmten<br />

Offsets (Abstand vom Anfang der Datei in Bytes) in den Bilddateien selbst und können dort mit<br />

fread() ausgelesen werden:<br />

Offset Bytes Name Bedeutung<br />

00h 2 bfType File ID<br />

02h 4 bfSize Dateigröße in Bytes<br />

0ah 4 bfOffs Offset in den Datenbereich<br />

0eh 4 biSize Größe der Bitmap-Info-Headers<br />

12h 4 biWidth Breite der Bitmap in Pixel<br />

16h 4 biHeight Höhe der Bitmap in Pixel<br />

1ch 2 biBitCnt Zahl der Bits pro Pixel (Farbtiefe)<br />

1eh 4 biCompr Komprimierungstyp<br />

2eh 4 biClrUsed Zahl der benutzten Farben<br />

…<br />

Erzeugen Sie sich zum Testen 8 Bitmaps (Endung: .bmp) mit MSPaint oder suchen Sie passende<br />

Bitmaps im Internet. Integrieren Sie einen optionalen Dialog, der das Verzeichnis abfragt, das<br />

durchsucht und angezeigt werden soll. Der Quelltext soll aus mehreren Modulen und Funktionen<br />

aufgebaut sein. Fangen Sie alle möglichen Fehlerquellen ab!

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!