JunkBox_Lib  1.10.2
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 
16 typedef struct {
21  void* ex_value;
22 } TIFF_ifd;
23 
24 
25 typedef struct {
26  int nn;
28  unsigned char* img;
29 } TIFFImage;
30 
31 
32 extern 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 
84 TIFF_ifd** read_tiff_file(const char* fname);
85 TIFF_ifd* get_tiff_ifd(unsigned char* buf, int num);
86 TIFF_ifd* find_tiff_ifd(TIFF_ifd* ifd, unsigned short tag);
87 void proc_tiff_ifd(TIFF_ifd* ifd, unsigned char* buf);
88 
89 void free_TIFF_ifd(TIFF_ifd* ifd);
90 void free_TIFF_ifd_dem(TIFF_ifd** ptr_ifd);
91 
92 void print_tiff_ifd(FILE* fp, TIFF_ifd* ifd, int max_values);
93 void print_tiff_ifd_indiv(FILE* fp, TIFF_ifd* ifd, int max_values);
94 
95 char* get_tiff_ascii_field(TIFF_ifd* ifd, int offset);
96 unsigned int get_tiff_uint_field(TIFF_ifd* ifd, int offset);
97 double get_tiff_double_field(TIFF_ifd* ifd, int offset);
98 
99 int 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
int nn
Definition: tiff_tool.h:26
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 * get_tiff_ifd(unsigned char *buf, int num)
Definition: tiff_tool.c:74
int TIFF_Swap_Flag
Definition: tiff_tool.c:12
char * get_tiff_ascii_field(TIFF_ifd *ifd, int offset)
Definition: tiff_tool.c:395
unsigned int get_tiff_uint_field(TIFF_ifd *ifd, int offset)
Definition: tiff_tool.c:411
void print_tiff_ifd_indiv(FILE *fp, TIFF_ifd *ifd, int max_values)
Definition: tiff_tool.c:331
TIFF_ifd ** read_tiff_file(const char *fname)
Definition: tiff_tool.c:23
void free_TIFF_ifd_dem(TIFF_ifd **ptr_ifd)
Definition: tiff_tool.c:375
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
TIFF_ifd * find_tiff_ifd(TIFF_ifd *ifd, unsigned short tag)
Definition: tiff_tool.c:474
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
汎用拡張ツールヘッダ