• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

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

  • Автор темы Автор темы 203
  • Дата начала Дата начала
2

203

Здравствуйте. Помогите пожалуйста разобраться как сделать программу которая будет выводить информацию о картинке формата 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");

}
 

например.
гугл поможет найти больше вариантов
 
Спасибо за ссылку. Но я не могу разобраться что и как тут делать какие команды надо писать после того как я открыл картинку. (нельзя пользоваться посторонними библиотеками). Помогите пожалуйста.
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);
Что писать дальше?
 
за тебя никто писать не будет. на каждой странице этого раздела написано:
5. Ну а те, кто не хочет что-то делать самостоятельно, должны понимать, что работа людей стоит денег. Даже самая мелкая. А потому, если вы готовы платить за решение своей проблемы, то так же указывайте это в своей теме. Что-то в духе: Нужно решить такую-то задачу. Оплата.
Если нельзя пользоваться готовыми библиотеками - смотри описание формата. Ссылка на описание взята с вики:
мог бы сам найти и не задавать уже глупых вопросов.
это работать не будет.
 
Спасибо за ссылки.
Мне не надо чтобы вы за меня весь код писали, показали как вывести хотя бы одно (разрешение или пикселей сколько) а дальше уже сам по примеру и тд.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!