Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人能澄清如何在C++;或者只是Win Explore读取文件的方式? 当我阅读C++中的TIFF元数据时,我完全迷失了,我浏览过谷歌,找不到任何例子。我所要做的就是读取rating属性并将其输出到控制台,我应该能够从那里获取它。 提前谢谢_C++_Image_Metadata_Tiff_Rating - Fatal编程技术网

有人能澄清如何在C++;或者只是Win Explore读取文件的方式? 当我阅读C++中的TIFF元数据时,我完全迷失了,我浏览过谷歌,找不到任何例子。我所要做的就是读取rating属性并将其输出到控制台,我应该能够从那里获取它。 提前谢谢

有人能澄清如何在C++;或者只是Win Explore读取文件的方式? 当我阅读C++中的TIFF元数据时,我完全迷失了,我浏览过谷歌,找不到任何例子。我所要做的就是读取rating属性并将其输出到控制台,我应该能够从那里获取它。 提前谢谢,c++,image,metadata,tiff,rating,C++,Image,Metadata,Tiff,Rating,更新 谢谢各位,我会更深入地了解libtiff图书馆 查看libtiff文件夹,对于我试图实现的目标来说,似乎有点过头了。是否可以阅读设置库的文件韵文的“属性/详细信息”选项卡,或者我问了一些极其迟钝的问题。同样,我想找到的是文件是否有评级。好吧,libtiff公开了所有这些功能,您只需阅读文档即可 要设置元数据,您需要设置TIFFSetField int TIFFSetField(TIFF* tif, ttag_t tag, ...) 同样,要检索元数据,您需要 这里需要注意的一点是,如果您

更新 谢谢各位,我会更深入地了解libtiff图书馆


查看libtiff文件夹,对于我试图实现的目标来说,似乎有点过头了。是否可以阅读设置库的文件韵文的“属性/详细信息”选项卡,或者我问了一些极其迟钝的问题。同样,我想找到的是文件是否有评级。

好吧,libtiff公开了所有这些功能,您只需阅读文档即可

要设置元数据,您需要设置TIFFSetField

int
TIFFSetField(TIFF* tif, ttag_t tag, ...)
同样,要检索元数据,您需要


这里需要注意的一点是,如果您正在阅读标准TIFF标签或专有标签。如果它们是专有的,不在libtiff库中,那么有人自己添加了它们,在这种情况下,您需要将它们的标记声明合并到您的libtiff版本中(或者只获取它们的标记声明)。如果是这样的话,你可以照做(我不得不这么做)。

好吧,libtiff公开了所有这些功能,你只需要阅读文档

要设置元数据,您需要设置TIFFSetField

int
TIFFSetField(TIFF* tif, ttag_t tag, ...)
同样,要检索元数据,您需要


这里需要注意的一点是,如果您正在阅读标准TIFF标签或专有标签。如果它们是专有的,不在libtiff库中,那么有人自己添加了它们,在这种情况下,您需要将它们的标记声明合并到您的libtiff版本中(或者只获取它们的标记声明)。如果涉及到这一点,你可以遵循它(我必须这么做)。

有一个ImageMagick可以处理TIFF图像:你可以使用它下面使用的框架来提取元数据,使用这个框架,你应该能够像Ed S一样通过调用
TIFFGetField
来提取元数据

这是从libTiff页面提取的示例用法:

TIFF* tif = TIFFOpen("myfile.tif", "r");
if (tif) {
uint32 imageWidth, imageLength;
uint32 tileWidth, tileLength;
uint32 x, y;
tdata_t buf;

TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &imageWidth);
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imageLength);
TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tileWidth);
TIFFGetField(tif, TIFFTAG_TILELENGTH, &tileLength);
buf = _TIFFmalloc(TIFFTileSize(tif));
for (y = 0; y < imageLength; y += tileLength)
    for (x = 0; x < imageWidth; x += tileWidth)
    TIFFReadTile(tif, buf, x, y, 0);
_TIFFfree(buf);
TIFFClose(tif);
}
TIFF*tif=TIFFOpen(“myfile.tif”、“r”);
如果(tif){
uint32图像宽度、图像长度;
uint32瓷砖宽度,瓷砖长度;
uint32 x,y;
tdata_t buf;
TIFFGetField(tif、TIFFTAG_IMAGEWIDTH和IMAGEWIDTH);
TIFFGetField(tif、TIFFTAG_IMAGELENGTH和IMAGELENGTH);
TIFFGetField(tif、TIFFTAG_TILEWIDTH和TILEWIDTH);
TIFFGetField(tif、TIFFTAG_TilleLength和TilleLength);
buf=_TIFFmalloc(TIFFTileSize(tif));
对于(y=0;y

还有一个由库处理的标记列表:

有一个ImageMagick,它处理TIFF图像:您可以使用它下面使用的框架来提取元数据,使用它,您应该能够像Ed S一样通过调用
TIFFGetField来提取元数据

这是从libTiff页面提取的示例用法:

TIFF* tif = TIFFOpen("myfile.tif", "r");
if (tif) {
uint32 imageWidth, imageLength;
uint32 tileWidth, tileLength;
uint32 x, y;
tdata_t buf;

TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &imageWidth);
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imageLength);
TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tileWidth);
TIFFGetField(tif, TIFFTAG_TILELENGTH, &tileLength);
buf = _TIFFmalloc(TIFFTileSize(tif));
for (y = 0; y < imageLength; y += tileLength)
    for (x = 0; x < imageWidth; x += tileWidth)
    TIFFReadTile(tif, buf, x, y, 0);
_TIFFfree(buf);
TIFFClose(tif);
}
TIFF*tif=TIFFOpen(“myfile.tif”、“r”);
如果(tif){
uint32图像宽度、图像长度;
uint32瓷砖宽度,瓷砖长度;
uint32 x,y;
tdata_t buf;
TIFFGetField(tif、TIFFTAG_IMAGEWIDTH和IMAGEWIDTH);
TIFFGetField(tif、TIFFTAG_IMAGELENGTH和IMAGELENGTH);
TIFFGetField(tif、TIFFTAG_TILEWIDTH和TILEWIDTH);
TIFFGetField(tif、TIFFTAG_TilleLength和TilleLength);
buf=_TIFFmalloc(TIFFTileSize(tif));
对于(y=0;y

还有一个由库处理的标签列表:

1)学习如何在C++中进行I/O。2) 学习TIFF文件格式(我想是标签图像版本)。3) 编写控制台应用程序。或者,使用一个为你做这件事的库。使用一个库。。。真的,这将节省你很多时间。1)学习如何在C++中做I/O。2) 学习TIFF文件格式(我想是标签图像版本)。3) 编写控制台应用程序。或者,使用一个为你做这件事的库。使用一个库。。。真的,这会节省你很多时间。