我有很多tiff图像文件,我需要立即更改其名称(按宽度和高度)。
例如: asdasd.tiff(尺寸600 x 700) - > 600x700.tiff
但有一些问题:
如何在c中学习tiff文件的像素宽度和高度?
(我的问题是学习文件的像素大小,我可以在获得像素大小后重命名。重命名不是问题,但我怎么能得到一个tiff文件的像素宽度和高度?!:(!)
好的,这是针对bmp文件:
#include "stdio.h"
#include "stdlib.h"
main()
{
FILE* f = fopen("bim1.bmp", "rb");
unsigned char info[54];
fread(info, sizeof(unsigned char), 54, f); // read the 54-byte header
int width = *(int*)&info[18];
int height = *(int*)&info[22];
printf("width : %d \n", width);
printf("height : %d \n", height);
fclose(f);
}
我会为tif文件编辑它。
答案 0 :(得分:1)
TIFF 6.0 specification描述了文件格式。
TIFF的字节0-1指定文件中数据的字节顺序。 (第13页:图像文件标题)
偏移4-7包含第一个图像文件目录的偏移量(以字节为单位)。偏移量采用字节0-1指定的字节序。 (第13页:图像文件标题)
映像文件目录(从文件中的指定位置开始,名称目录在这种情况下不指示文件系统目录)包含许多标记值。 (第14页:图像文件目录)
您必须扫描标签列表,直到遇到标签256(图像宽度)和257(图像高度)。 (第18页行和列)
答案 1 :(得分:0)
也许这是一个很好的应用程序:http://regexrenamer.sourceforge.net/ 您需要一些正则表达式的知识才能将源名称与命运名称相匹配。