Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
C++

Ładowanie bmp

C++

  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6034
Godlike

  • Postów:10832
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 24.08.2010 11:50

 FILE *f = fopen(argv[1],"rb");

     system("cls");
     printf("\n INFORMACJE O BITMAPIE\n\n");

     fread(&File.bfType,sizeof(File.bfType),1,f);
     printf(" Typ: %x",File.bfType);

     fread(&File.bfSize,sizeof(File.bfSize),1,f);
     printf("\n Rozmiar pliku: %d bajtow",File.bfSize);

     fread(&File.bfReserved1,sizeof(File.bfReserved1),1,f);
     printf("\n Zarezerwowane1: %d",File.bfReserved1);

     fread(&File.bfReserved2,sizeof(File.bfReserved2),1,f);
     printf("\n Zarezerwowane2: %d",File.bfReserved2);

     fread(&File.bfOffBits,sizeof(File.bfOffBits),1,f);
     printf("\n Pozycja danych obrazkowych: %d",File.bfOffBits);

     printf("\n");

     fseek(f,14,SEEK_SET);
     fread(&Picture.biSize,sizeof(Picture.biSize),1,f);
     printf("\n Wielkosc naglowka informacyjnego: %d",Picture.biSize);

     fread(&Picture.biWidth,sizeof(Picture.biWidth),1,f);
     printf("\n Szerokosc: %d pikseli",Picture.biWidth);

     fread(&Picture.biHeight,sizeof(Picture.biHeight),1,f);
     printf("\n Wysokosc: %d pikseli",Picture.biHeight);

     fread(&Picture.biPlanes,sizeof(Picture.biPlanes),1,f);
     printf("\n Liczba platow (zwykle 0): %d",Picture.biPlanes);

     fread(&Picture.biBitCount,sizeof(Picture.biBitCount),1,f);
     printf("\n Liczba bitow na piksel: %d (1, 4, 8, or 24)",Picture.biBitCount);

     fread(&Picture.biCompression,sizeof(Picture.biCompression),1,f);
     printf("\n Kompresja: %d (0=none, 1=RLE-8, 2=RLE-4)",Picture.biCompression);

     fread(&Picture.biSizeImage,sizeof(Picture.biSizeImage),1,f);
     printf("\n Rozmiar samego rysunku: %d",Picture.biSizeImage);

     fread(&Picture.biXPelsPerMeter,sizeof(Picture.biXPelsPerMeter),1,f);
     printf("\n Rozdzielczosc pozioma: %d",Picture.biXPelsPerMeter);

     fread(&Picture.biYPelsPerMeter,sizeof(Picture.biYPelsPerMeter),1,f);
     printf("\n Rozdzielczosc pionowa: %d",Picture.biYPelsPerMeter);

     fread(&Picture.biClrUsed,sizeof(Picture.biClrUsed),1,f);
     printf("\n Liczba kolorow w palecie: %d",Picture.biClrUsed);

     fread(&Picture.biClrImportant,sizeof(Picture.biClrImportant),1,f);
     printf("\n Wazne kolory w palecie: %d",Picture.biClrImportant);

     //czyta dane obrazka
     printf("\n\n Dane obrazka:\n\n");
     fseek(f,File.bfOffBits,SEEK_SET);

     unsigned char *bitmapImage;
     unsigned char tempRGB;
     bitmapImage = (unsigned char*)malloc(Picture.biSizeImage);

     fread(bitmapImage,Picture.biSizeImage,1,f);
     for (int imageIdx = 0;imageIdx < Picture.biSizeImage;imageIdx+=3)
     {
         tempRGB = bitmapImage[imageIdx];
         bitmapImage[imageIdx] = bitmapImage[imageIdx + 2];
         bitmapImage[imageIdx + 2] = tempRGB;
          /*if(imageIdx > 0 && imageIdx%Picture.biWidth == 0 ){
             std::cout<<""<<"\n";
        }
         if(bitmapImage[imageIdx]== 0 && bitmapImage[imageIdx+1]==0 && bitmapImage[imageIdx+2] == 0){
             std::cout<<"a"<<"";
         }
         else{
              std::cout<<"e"<<"";
         }*/
         printf("%d|%d|%d\n",bitmapImage[imageIdx],bitmapImage[imageIdx+1],bitmapImage[imageIdx+2]);
    }
    fclose(f);
wszystkie dane pokazuje poprawnie gdy dam mu do wczytania obrazek 2x1 pierwszy piksel biały drugi czarny otrzymuje

Dołączona grafika
  • +
  • -
  • 1





Również z jednym lub większą ilością słów kluczowych: C++

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych