Zum Inhalt springen

repla34

Mitglieder
  • Gesamte Inhalte

    8
  • Benutzer seit

  • Letzter Besuch

  1. Die Farbtabelle beginnt bei Offset 54. Ich habe versucht die Farbtabelle so auszulesen: fseek(in, 54L, 0); for(i=0; i<aufloesung; i++){ c = fgetc(in); printf("%d", c); } Ausgabe: 11 9 7 0 18 13 9 0 usw. Ist das die Farbtabelle? und bis wohin geht das? breite * hoehe? oder muss ich die Auflösung des Bildschirmes berücksichtigen?
  2. Das war sehr hilfreich. danke.
  3. Muss ich die Farben pixel zu pixel ändern?
  4. Ich will die Sättigung ändern. z.B. die Sättigung von Rot oder Blau verdoppeln. Muss man dafür die Farbtabelle ändern oder wie gehe ich vor?
  5. Wie soll ich die Farbtabelle manipulieren? Mit fseek(in, 54L, 0); positioniere ich die Zeiger.
  6. Ja, die Jeweilige BMP datei hat eine Farbtabelle.Ich will zuerst die Farbtabelle in dynamisch reservierte Speicherplatz einlesen und da ändern. Die jeweilige Bilddatei hat 8 Bit farbtiefe.
  7. Ja, die Jeweilige BMP datei hat eine Farbtabelle.Ich will zuerst die Farbtabelle in dynamisch reservierte Speicherplatz einlesen und da ändern. Die jeweilige Bilddatei hat 8 Bit farbtiefe.
  8. Ich schreibe eine kleine Anwendung zur Bildmanipulation mit C. 1 zu 1 kopie usw. kann ich erzeugen. Allerdings, ich muss noch die Farben manipulieren. z.B. die Sättigung von Blau verdoppeln. Dafür muss ich die Farbtabelle einlessen. Die Frage ist; Wie soll ich die Farbtabelle einlesen? #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int c, z[2], i; int breite, hoehe, aufloesung, farbtiefe; FILE *in; FILE *out; int *tmp; in = fopen(argv[1], "rb"); if(argc == 3){ // prüfen ob es eine Bilddatei ist und kopieren if( ((z[0] = fgetc(in)) == 'B') && ((z[1] = fgetc(in)) == 'M')) { printf("\nEs handelt sich um eine .bmp Bilddatei."); out = fopen(argv[2], "wb"); fputc(z[0], out); fputc(z[1], out); while( (c=fgetc(in)) != EOF){ fputc(c, out); } } fclose(out); } //Aufloesung in pixel fseek(in, 18L, 0); fread(&breite, sizeof(long), 1, in); fseek(in, 22L, 0); fread(&hoehe, sizeof(long), 1, in); aufloesung = breite * hoehe; fseek(in, 28L, 0); farbtiefe = fgetc(in); printf("\nFarbtiefe: %d Bit\n", farbtiefe); fclose(in); return 0; }

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...