2
203
Здравствуйте. Помогите пожалуйста разобраться как сделать программу которая будет выводить информацию о картинке формата tif (высота, ширина, разрешение, количество бит на пиксель и т.д) . Объясните пожалуйста каким образом это можно сделать. Заранее спасибо.
Есть пример на формат tga но не могу разобраться. Помогите пожалуйста.
Есть пример на формат 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");
}