0

我有很多 tiff 图像文件,我需要立即更改它们的名称(通过它们的宽度和高度)。

例如:asdasd.tiff (大小 600 x 700) --> 600x700.tiff

但有一些问题:

  • 我正在使用 linux 但我必须为 windows 做
  • 我不知道 c、c++ 或 c#,但我必须使用“.exe”程序来完成
  • “.exe”程序,因为我们想要这样做,“一键更改所有名称”,在 Windows...

我如何在 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 文件编辑它。

4

2 回答 2

1

TIFF 6.0 规范描述了文件格式。

TIFF 的字节 0-1 指定文件中数据的字节顺序。(第 13 页:图像文件头)

偏移量 4-7 包含到第一个图像文件目录的偏移量(以字节为单位)。偏移量是字节 0-1 指定的字节序。(第 13 页:图像文件头)

映像文件目录(从文件中的指定位置开始,在这种情况下名称目录不表示文件系统目录)包含许多标记值。(第 14 页:图像文件目录)

您必须扫描标签列表,直到遇到标签 256(图像宽度)和 257(图像高度)。(第 18 页行和列)

于 2013-06-07T06:52:06.550 回答
0

也许这是一个很好的应用程序:http ://regexrenamer.sourceforge.net/ 您需要一些正则表达式知识才能将源名称与命运名称匹配。

于 2013-06-07T06:36:32.357 回答