更新时间:2023-11-10 13:44:58
在Wraper文件夹中,使用最新发行版的Load and Save示例,我取得了很大进步:
I made a lot of progress by using the examples for Load and Save in the Wraper folder with the newest distribution:
FreeImage \ Wrapper \ FreeImage.NET \ cs \ Samples \ Sample 01-加载和保存
FreeImage\Wrapper\FreeImage.NET\cs\Samples\Sample 01 - Loading and saving
事实证明,负载工作正常,但是保存16位图像似乎并不容易.我尝试转换为8位或灰度,然后另存为jpeg,但没有输出,也没有错误消息.我发现可以将以下内容保存为PNG:
It turns out the load worked fine, but it does not seem so easy to save the 16-bit image. I tried converting to 8 bits or greyscale, and then save as jpeg, but i got no output and no error message. What i found works is saving to PNG as follows:
public void OpenSave()
{
string InFileName = "MyTiff.tif";
string OutFileName = "MyOutputFile";
// load image, 16-bit tif
FIBITMAP dib = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_TIFF, InFileName,FREE_IMAGE_LOAD_FLAGS.DEFAULT);
// save image
FreeImage.SaveEx(
ref dib,
OutFileName, // FreeImage will add a file extension. NB: SaveEx will strip the file extension from OutFileName, and replace it with png, so even if OutFileName = "MyOutFile.jpg", SaveEx will save it here as MyOutFile.png"
FREE_IMAGE_FORMAT.FIF_PNG,
FREE_IMAGE_SAVE_FLAGS.DEFAULT,
FREE_IMAGE_COLOR_DEPTH.FICD_04_BPP,
true);
FreeImage.UnloadEx(ref dib);
}
我不需要任何特定的输出格式,因为我对此应用程序感兴趣的是打开一个tiff并操纵这些位,所以我对这个问题很了解.
I don't need any particular output format, since what i am interested in for this application is openning a tiff and manipulating the bits, so I am complete for this question.
感谢您的阅读, 丹