FreeImage零宽度和高度

时间:2014-03-06 23:06:47

标签: c++ freeimage

我正在尝试在FreeImage中加载.png.DDS文件,但宽度和高度始终为零。

#include <stdio.h>
#include<stdlib.h>

#include <FreeImage.h>

int main(void){
  const char* path = "Signal.png";
  printf("Loading image %s\n", path);
  FIBITMAP* image = FreeImage_Load(FreeImage_GetFileType(path), path, 0);
  unsigned int w = FreeImage_GetWidth(image);
  unsigned int h = FreeImage_GetHeight(image);
  printf("Width: %u Height: %u\n", w, h);

}

输出:

Loading image Signal.png
Width: 0 Height: 0

2 个答案:

答案 0 :(得分:0)

您可能错过了对FreeImage_Initialise的调用(除非您使用的是DLL)。

答案 1 :(得分:0)

有时freeimage不会从FreeImage_GetFileType中读取FREE_IMAGE_FORMAT

因此建议检查fif的有效性,如果是fif == FIF_UNKNOWN则使用FreeImage_GetFIFFromFilename