Графические файлы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ii55vvw22, 18 Nov 2008.

  1. ii55vvw22

    ii55vvw22 New Member

    Joined:
    18 Nov 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    -5
    Добрый вечер форумчане!

    Возникла проблема, кто знает помогите. Как в билдере отобразить графический файл в двоичном виде. Я отрываю файл, отображаю картинку, а рядом надо чтоб отображалось содержимое файла только в двоичнов виде( ну к примеру так как в командере после нажатия клавиши F3->6).

    И как извлекать инфу из exif? (модель камеры, когда снято, и т.д) кто знает пожалуйста подскажите, какие функции использовать?
     
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    1) двоичное представление - тупо открой файл картинки на чтение, загрузи его весь в буфер какойнить и от туда считывай по байтно и отображай как угодно.
    2) инфа exif ищу описание структуры jpeg файлов.
     
  3. ii55vvw22

    ii55vvw22 New Member

    Joined:
    18 Nov 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    -5
    А как можно отобразить отбразить графический файл, так как если бы он выглядел только из младших битов, я имею ввиду картинку.

    Как вынуть младшие биты я знаю, а остальные что заменять нулями? Картинка может вообще отображаться если она состоит только из младших битов?

    Может кто-нибудь разяснить?
     
  4. FlyBird

    FlyBird Elder - Старейшина

    Joined:
    14 Oct 2007
    Messages:
    46
    Likes Received:
    5
    Reputations:
    0
    Для начала скажи какой тип картинки тебя интересует.
    В зависимости от того какой тип я смогу тебе подкинуть идейку а для tiff даже дам сорцы.
    А вообще по каждому формату нужно читать документацию.
    В некоторых типах в первых 8 байтах хранится различного рода инфа, как раз которая тебя интересует(версия, когда сделана и т.д.).

    Правда некоторые форматы закодированы и их с начало нужно разкодировать, а только потом читать по байтно.
     
  5. ii55vvw22

    ii55vvw22 New Member

    Joined:
    18 Nov 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    -5
    FlyBird, по поводу tiff можно посмотреть, мне нужно bmp, как я и писал, отобразить так как если бы она состояла только из младших бит, так вот на заголовок там 54 байта, а вот чтоб так отобразить мне надо, игнорировать старшие биты из массива Colorarray, или так же менять биты в BitMaparray? Как это сделать?
     
  6. ii55vvw22

    ii55vvw22 New Member

    Joined:
    18 Nov 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    -5
    Привет всем!

    Подскажите как ускорить процесс, работает очень долго(((, можно как то отобразить символ в битовом виде по другому?

    Code:
    f=fopen(OpenDialog1->FileName.c_str(),"rb");
                    fseek(f,0L,SEEK_END);
                    f_len=ftell(f);
                    fseek(f,0L,SEEK_SET);
                    f_pos=ftell(f);
                    i=0;
              while(!feof(f))
                    {s=fgetc(f);
                    StringGrid1->RowCount += 1;
                    massiv_bits(massivA,s); //доп.функция переводит символ в биты
                    for(j=7;j>=0;j--)
                            {pszBufferBitsView = pszBufferBitsView + IntToStr(massivA[j]);
                            }
                    StringGrid1->Cells[1][i+1] = pszBufferBitsView;
                    pszBufferBitsView = "";
                    i++;
                    }
     
  7. FlyBird

    FlyBird Elder - Старейшина

    Joined:
    14 Oct 2007
    Messages:
    46
    Likes Received:
    5
    Reputations:
    0
    Прости что не отвечала.
    Уезжала в горы вот только вернулась.
    Если тема еще актуальна, могу выложить сорцы проги для tiff
     
  8. ii55vvw22

    ii55vvw22 New Member

    Joined:
    18 Nov 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    -5
    FlyBird спасибо канечно...но уже не актуально