Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2012, 11:15   #1
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию Вывод информации о картинке формата tif, C++

Здравствуйте. Помогите пожалуйста разобраться как сделать программу которая будет выводить информацию о картинке формата tif (высота, ширина, разрешение, количество бит на пиксель и т.д) . Объясните пожалуйста каким образом это можно сделать. Заранее спасибо.
Есть пример на формат tga но не могу разобраться. Помогите пожалуйста.
Код:
#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");
        
    }
803 вне форума Ответить с цитированием
Старый 10.10.2012, 14:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я бы на твоем месте поискал примеры с работой используя GDI+
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.10.2012, 15:14   #3
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию

Спасибо за GDI+, но как я понял это какая то библиотека для рисования как она мне поможет вывести информацию о уже готовом изображении.
803 вне форума Ответить с цитированием
Старый 10.10.2012, 15:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я использовал ее для просмотра и получения информации из графики TIFF.
Тебе ведь это почти нужно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.10.2012, 16:14   #5
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию

Да. (вывести высота, ширина, разрешение, количество бит на пиксель и т.д)
803 вне форума Ответить с цитированием
Старый 10.10.2012, 16:17   #6
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию

И подскажите пожалуйста где можно найти пример или почитать как это сделать. Первый рас пишу что то такое.
803 вне форума Ответить с цитированием
Старый 10.10.2012, 16:26   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пуфф... Не подскажу ничего кроме MSDN
Честно - сам туда за информацией и хожу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прогрессбар + вывод информации Mr_freeman Общие вопросы Delphi 2 03.10.2012 22:49
Вывод информации pqh PHP 7 15.04.2012 02:09
Вывод текущего времени формата H:M:S:MS, где MS - миллисекунды Gypsy Помощь студентам 5 13.01.2010 18:05
Вывод формата 3ds Alex2009 Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 20.05.2009 21:06
Вывод информации из БД Alamez Помощь студентам 2 18.05.2009 10:07