Вывод Информации О Картинке Формата Tif

Тема в разделе "C/C++/C#", создана пользователем 203, 9 окт 2012.

  1. 203

    203 New Member

    Регистрация:
    21 фев 2012
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте. Помогите пожалуйста разобраться как сделать программу которая будет выводить информацию о картинке формата tif (высота, ширина, разрешение, количество бит на пиксель и т.д) . Объясните пожалуйста каким образом это можно сделать. Заранее спасибо.
    Есть пример на формат tga но не могу разобраться. Помогите пожалуйста.
    Код (C++):
    #include <stdio.h>
    #include <iostream>
    #include <fstream>
    using namespace std;

    int main()
    {  setlocale(LC_ALL,"russian");
    int length,type_img,type_map;
    int nep,kep,kolbit;
    int x,y,shir,vis,deep,info;
    int i=99;

    fstream(f);
    f.open("5.tga",ios::in | ios::binary);

    f.read((char*)&i,1); length=i;
    if(length==0)
    cout<<"Файл не содержит поле идентификатор"<<endl;
    else       
    cout<<"Длина идентификатора="<<i<<endl;

    f.read((char*)&i,1); type_map=i;

    if(type_map==0)
    cout<<"Файл не содержит карты цветов"<<endl;
    else
    cout<<"Файл содержит карту цветов";

    f.read((char*)&i,1); type_img=i;
    if(type_img==0)
    cout<<"Нет Изображения"<<endl;
    if(type_img==1)
    cout<<"Изображение с палитрой"<<endl;
    if(type_img==2)
    cout<<"TrueColor изображение"<<endl;
    if(type_img==3)
    cout<<"Монохромное изображение"<<endl;
    if(type_img==9)
    cout<<"Изображение с палитрой"<<endl;
    if(type_img==10)
    cout<<"TrueColor изображение"<<endl;
    if(type_img==11)
    cout<<"Монохромное изображение"<<endl;



    f.read((char*)&i,2); nep=i;
    f.read((char*)&i,2); kep=i;
    f.read((char*)&i,1); kolbit=i;
    if(type_map!=0)
    {
    cout<<kep<<" Элементов палитры"<<endl;
    cout<<"Начальный элемент палитры "<<nep<<endl;
    cout<<kolbit<<" Бит на один элемент палитры"<<endl;
    }

    f.read((char*)&i,2); x=i;
    cout<<"Координата левого нижнего по горизонтали="<<x<<endl;
    f.read((char*)&i,2); y=i;
    cout<<"Координата левого нижнего угла по вертикали="<<y<<endl;
    f.read((char*)&i,2); shir=i;
    cout<<"Ширина изображения="<<shir<<" pixels"<<endl;
    f.read((char*)&i,2); vis=i;
    cout<<"Высота изображения="<<vis<<" pixels"<<endl;
    f.read((char*)&i,1); deep=i;
    cout<<"Количество бит на пиксель="<<deep<<endl;
    f.read((char*)&i,1); info=i;
    cout<<"info"<<info<<endl;
    f.close();
    system("pause");

    }
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
  3. 203

    203 New Member

    Регистрация:
    21 фев 2012
    Сообщения:
    4
    Симпатии:
    0
    Спасибо за ссылку. Но я не могу разобраться что и как тут делать какие команды надо писать после того как я открыл картинку. (нельзя пользоваться посторонними библиотеками). Помогите пожалуйста.
    Код (C++):
    #include <stdio.h>
    #include <iostream>
    #include <fstream>
    using namespace std;

    int main()
    {  setlocale(LC_ALL,"russian");
    int x;
    fstream(f);
    f.open("12.tif",ios::in | ios::binary);
    Что писать дальше?
     
  4. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    за тебя никто писать не будет. на каждой странице этого раздела написано:
    Если нельзя пользоваться готовыми библиотеками - смотри описание формата. Ссылка на описание взята с вики: http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf
    мог бы сам найти и не задавать уже глупых вопросов.
    это работать не будет.
     
  5. 203

    203 New Member

    Регистрация:
    21 фев 2012
    Сообщения:
    4
    Симпатии:
    0
    Спасибо за ссылки.
    Мне не надо чтобы вы за меня весь код писали, показали как вывести хотя бы одно (разрешение или пикселей сколько) а дальше уже сам по примеру и тд.
     
  6. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    цена вопроса?
     
  7. 203

    203 New Member

    Регистрация:
    21 фев 2012
    Сообщения:
    4
    Симпатии:
    0
    Спасибо за книгу всё сделал.
     
Загрузка...

Поделиться этой страницей