Pokaż wyniki 1 do 3 z 3

Temat: Rozłożenie obrazka na kolory RGB w C++ Pomocy

  1. #1

    Domyślnie Rozłożenie obrazka na kolory RGB w C++ Pomocy

    Witam.
    Proszę o pomoc w napisaniu programu. Nie jestem zbyt dobra w te klocki, więc proszę o wyrozumiałość.
    Program polega na wczytaniu pliku (mapy bitowej), wyodrębnieniu bajtów odpowiedzialnych za składowe piksela (RGB), stworzenie 3 odrębnych map bitowych, na których zapiszemy obrazki w wyodrębnionych wcześniej kolorach RGB oraz zapis map do poszczególnych plików.
    Do tej pory udało mi sie wypocić coś takiego:
    Kod:
    int main () {
     FILE * plik;
     long lSize;
     char * buffer;
     size_t result;
     int szerokosc, wysokosc;
    
    
     plik = fopen ( "twarz.bmp" , "rb" );
     if (plik==NULL) {fputs ("File error",stderr); exit (1);}
    
    
     fseek (plik , 18 , SEEK_SET);
     fread (&szerokosc, sizeof (szerokosc),1 , plik);
     cout<<szerokosc<< endl;
    
     fseek (plik , 22 , SEEK_SET);
     fread (&wysokosc, sizeof (wysokosc),1 , plik);
     cout<<wysokosc<< endl;
    
     unsigned char tabB [szerokosc][wysokosc], tabG [szerokosc][wysokosc], tabR [szerokosc][wysokosc];
     unsigned char naglowek [54];
     lSize = ftell (plik);
     rewind (plik);
    
     fseek (plik, 54, SEEK_SET);
     //fread (&tab, sizeof (tab), 2, plik);
     int i, j;
     for (i=0; i < wysokosc; i++)
        {
           for (j=0; j < szerokosc; j++)
           {
               fread (&tabB[i][j],1,1,plik);
               fread (&tabG[i][j],1,1,plik);
               fread (&tabR[i][j],1,1,plik);
    No właśnie. Nie za bardzo wiem co dalej. Facet, z którym mam programowanie twierdzi, że to co piszę jest dobre, i że brakuje mi tylko kilku linijek do zakończenia tego programu.
    Jeśli ktokolwiek byłby w stanie mi pomóc dokończyć to zadanie, byłabym bardzo wdzięczna.

  2. #2
    Zarejestrowany
    Jul 2008
    Skąd
    /dev/random
    Postów
    556

    Domyślnie

    Cytat Napisał jetset Zobacz post
    Witam.
    No właśnie. Nie za bardzo wiem co dalej. Facet, z którym mam programowanie twierdzi, że to co piszę jest dobre, i że brakuje mi tylko kilku linijek do zakończenia tego programu.
    Jeśli ktokolwiek byłby w stanie mi pomóc dokończyć to zadanie, byłabym bardzo wdzięczna.
    Mozna i tak jak robisz... choc ja bym to zrobil inaczej i nie babral sie w fseek itp.
    Zajmie troche wiecej pamieci ale odpadnie zabawa z doklejaniem naglowka BMP itp.

    Tworzysz sobie 3 bufory o wielkosci pliku BMP... ladujesz caly plik do jednego nastepnie kopiujesz go do pozostalych dwuch. Nastepnie zerujesz sobie w kazdym buforze bajty odpowiedzialne za 2 pozostale kolory ktore chcesz pominac. Czyli powstaja ci juz w pamieci 3 gotowe bitmapy kazda z pozostawiona tylko 1 skladoewa czyli bufor R, G, B... nastepnie zapisujesz te bufory jako osobne pliki (bitmapy) i masz po sprawie...

    Tak jak masz teraz odczytane 3 tablice... musisz najpierw zapisac naglowek BMP i potem zapisywac poszczegolne skladowe itd. troche wiecej jest z tym babrania i robi sie malo czytelne.
    --
    ToM's Super Fix IT "No Fucking Problem"

  3. #3

    Domyślnie

    Dzięki wielkie. ;-)

Podobne wątki

  1. [POMOCY] Potrzebuje pomocy z kodem VBS
    By Teddy in forum Newbie - dla początkujących!
    Odpowiedzi: 6
    Autor: 03-16-2009, 18:02
  2. rozłożenie pliku exe
    By markossx in forum Inne języki
    Odpowiedzi: 13
    Autor: 04-30-2007, 15:06

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj