JunkBox_Lib 1.10.1
Loading...
Searching...
No Matches
tiff_tool.h
Go to the documentation of this file.
1#ifndef __JBXL_TIFF_TOOL_H_
2#define __JBXL_TIFF_TOOL_H_
3
12#include "xtools.h"
13#include "gdata.h"
14
15
23
24
25typedef struct {
26 int nn;
28 unsigned char* img;
29} TIFFImage;
30
31
32extern int TIFF_Swap_Flag;
33
34
35#define MAX_IFD_DEM_NUM 20
36
37#define TIFF_TYPE_BYTE 1
38#define TIFF_TYPE_ASCII 2
39#define TIFF_TYPE_SOHRT 3
40#define TIFF_TYPE_LONG 4
41#define TIFF_TYPE_RATIONAL 5
42#define TIFF_TYPE_SBYTE 6
43#define TIFF_TYPE_UNDEFINED 7
44#define TIFF_TYPE_SSHORT 8
45#define TIFF_TYPE_SLONG 9
46#define TIFF_TYPE_SRATIONAL 10
47#define TIFF_TYPE_FLOAT 11
48#define TIFF_TYPE_DOUBLE 12
49
50#define TIFF_TAG_WIDTH 0x0100 // 256
51#define TIFF_TAG_HEIGHT 0x0101 // 257
52#define TIFF_TAG_DEPTH 0x0102 // 258
53#define TIFF_TAG_COMP 0x0103 // 259
54#define TIFF_TAG_COLOR 0x0106 // 262
55#define TIFF_TAG_STRIP 0x0111 // 273
56#define TIFF_TAG_STRIP_RAW 0x0116 // 278
57#define TIFF_TAG_STRIP_CNT 0x0117 // 279
58#define TIFF_TAG_XRES 0x011a // 282
59#define TIFF_TAG_YRES 0x011b // 283
60#define TIFF_TAG_RES_UNIT 0x0128 // 296
61#define TIFF_TAG_COLORMAP 0x0140 // 320
62
63#define TIFF_TAG_PIXEL 0x0115 // 277
64#define TIFF_TAG_PLANAR 0x011c // 284
65#define TIFF_TAG_SOFTWARE 0x0131 // 305
66
67#define TIFF_TAG_TILE_WIDTH 0x0142 // 322
68#define TIFF_TAG_TILE_HEIGHT 0x0143 // 323
69#define TIFF_TAG_TILE_OFFSET 0x0144 // 324
70#define TIFF_TAG_TILE_BYTE 0x0145 // 325
71#define TIFF_TAG_SMPL_FORMAT 0x0153 // 339
72
73#define TIFF_TAG_COPYRIGHT 0x8298 // 33432
74
75// GeoTIFF
76#define TIFF_TAG_GEO_PXL_SCALE 0x830e // 33550
77#define TIFF_TAG_GEO_TIEPOINT 0x8482 // 33922
78#define TIFF_TAG_GEO_TRANS 0x85d8 // 34264
79#define TIFF_TAG_GEO_DIR 0x87af // 34735
80#define TIFF_TAG_GEO_DOUBLE_PM 0x87b0 // 34736
81#define TIFF_TAG_GEO_ASCII_PM 0x87b1 // 34737
82
84TIFF_ifd** read_tiff_file(const char* fname);
85TIFF_ifd* get_tiff_ifd(unsigned char* buf, int num);
86TIFF_ifd* find_tiff_ifd(TIFF_ifd* ifd, unsigned short tag);
87void proc_tiff_ifd(TIFF_ifd* ifd, unsigned char* buf);
88
89void free_TIFF_ifd(TIFF_ifd* ifd);
90void free_TIFF_ifd_dem(TIFF_ifd** ptr_ifd);
91
92void print_tiff_ifd(FILE* fp, TIFF_ifd* ifd, int max_values);
93void print_tiff_ifd_indiv(FILE* fp, TIFF_ifd* ifd, int max_values);
94
95char* get_tiff_ascii_field(TIFF_ifd* ifd, int offset);
96unsigned int get_tiff_uint_field(TIFF_ifd* ifd, int offset);
97double get_tiff_double_field(TIFF_ifd* ifd, int offset);
98
99int get_tiff_type_length(short type);
100
101
102#endif // __JBXL_TIFF_TOOL_H_
103
unsigned short uWord
2Byte
Definition common.h:334
unsigned int uDWord
4Byte
Definition common.h:336
short sWord
2Byte
Definition common.h:335
グラフィックデータ定義用ヘッダ
unsigned char ** buf
Definition jpeg_tool.h:96
TIFF_ifd * ifd
Definition tiff_tool.h:27
unsigned char * img
Definition tiff_tool.h:28
uDWord value
Definition tiff_tool.h:20
uWord tag
Definition tiff_tool.h:17
sWord type
Definition tiff_tool.h:18
uDWord count
Definition tiff_tool.h:19
void * ex_value
Definition tiff_tool.h:21
void proc_tiff_ifd(TIFF_ifd *ifd, unsigned char *buf)
Definition tiff_tool.c:148
TIFF_ifd ** read_tiff_file(const char *fname)
Definition tiff_tool.c:23
int TIFF_Swap_Flag
Definition tiff_tool.c:12
unsigned int get_tiff_uint_field(TIFF_ifd *ifd, int offset)
Definition tiff_tool.c:411
TIFF_ifd * get_tiff_ifd(unsigned char *buf, int num)
Definition tiff_tool.c:74
void print_tiff_ifd_indiv(FILE *fp, TIFF_ifd *ifd, int max_values)
Definition tiff_tool.c:331
void free_TIFF_ifd_dem(TIFF_ifd **ptr_ifd)
Definition tiff_tool.c:375
char * get_tiff_ascii_field(TIFF_ifd *ifd, int offset)
Definition tiff_tool.c:395
void free_TIFF_ifd(TIFF_ifd *ifd)
Definition tiff_tool.c:367
void print_tiff_ifd(FILE *fp, TIFF_ifd *ifd, int max_values)
Definition tiff_tool.c:311
int get_tiff_type_length(short type)
Definition tiff_tool.c:465
double get_tiff_double_field(TIFF_ifd *ifd, int offset)
Definition tiff_tool.c:441
TIFF_ifd * find_tiff_ifd(TIFF_ifd *ifd, unsigned short tag)
Definition tiff_tool.c:474
汎用拡張ツールヘッダ