问题标签 [freeimage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1194 浏览

grayscale - freeimage 将 png 24 位转换为 1 位黑色/白色 = 灰色/白色?

我正在使用 Freeimage.sf.net 加载 png24bit 并希望将其保存为黑白 png。使用

FIBITMAP bib = Freeimage.Load("<24bit_png>");

FIBITMAP conv = FreeImage.ConvertColorDepth(bib, FREE_IMAGE_COLOR_DEPTH. FICD_01_BPP_THRESHOLD, (byte) 128);

FreeImage.Unload(bin); bib.SetNull();

FreeImage.Save(FREE_IMAGE_FORMAT.FIF_PNG, conv, "<out_png>", FREE_IMAGE_SAVE_FLAGS.PNG_Z_BEST_COMPRESSION);

FreeImage.Unload(conv); conv.SetNull();

但不是黑色/白色,因为它是#0b120c / 白色?为什么阈值不创建 bw 调色板?

0 投票
2 回答
1153 浏览

c++ - 从位图加载纹理

看来我加载图像错误。图像看起来很混乱。我在这里做错了什么?

我在程序运行时看到的 程序运行时我看到的 内容 我在程序运行时看到的内容(我正在加载的位图) 我期望看到的

0 投票
2 回答
1024 浏览

c++ - 纹理在opengl中消失

我看到这个问题在应用程序使用一两分钟后纹理消失。为什么纹理会消失?3d 立方体始终保留在屏幕上。当纹理消失时,纹理出现的地方显示为白色框。

我的 DrawGLScene 方法如下所示:

此方法是 imageLoad 方法之一(被调用的其他方法几乎相同,除了位置/位置..

0 投票
1 回答
2032 浏览

c++ - 无法在 MingW 上静态链接 FreeImage 3.15.4

我不能在 MingW 上静态 lingking FreeImage 3.15.4(使用 .lib 或 .a)。我总是收到错误“未定义的引用”所有 FreeImage 方法。虽然我成功地动态链接了库。

然后我尝试从源代码构建,它是一样的。

我也尝试使用3.15.3,静态和动态都是成功的。但是这些版本中有一个错误(打开一些 JPEG)。

需要帮助。

我的代码只有 1 个文件,purge.cpp

命令:

结果:

然后当我删除“#define FREEIMAGE_LIB”时,它就成功了。但是使用动态链接:(


解决了。

仔细阅读 README.minGW 后。我犯的错误是:我用“pexports”和“dlltool”创建*.a。而那些 *.a 文件用于动态链接。静态链接的 *.a 文件应该从源代码编译并设置“FREEIMAGE_LIBRARY_TYPE=STATIC”。不要忘记编辑“makefile”,因为操作系统已被硬编码为“gnu”。

0 投票
3 回答
3202 浏览

c++ - 使用 Visual Studio Express 2013 构建和链接 FreeImage

我在将我的项目与 FreeImage 库与 VSE 2013 链接时遇到了很多麻烦

我已经按照 VS2010 的这个答案无济于事:Linking FreeImage as a static library in VS2010?

调用 FreeImage 函数时出现 LNK2019 错误。

我已经链接了图书馆,就像我链接任何图书馆一样。以下是我所做的以下步骤:

  1. 下载免费图像源。

  2. 打开 2008 解决方案(转换为 2013)并将所有项目的代码生成更改为 /MDd

  3. 尝试构建项目,但由于某种原因未定义 min/max 函数所以我将 algorithm.h 包含到这些文件中并停止了这些错误。

  4. 尝试构建项目,我收到一个错误:“无法打开”afxres.h”。所以我按照另一个主题中的建议将 afxres.h 与 windows.h 交换。

  5. 构建项目 -> 成功

  6. 将 Fresh FreeImaged.lib 复制到我的项目中

    • 将目录添加到“附加库目录”
    • 将 FreeImaged.lib 添加到链接器下的附加依赖项
  7. 将 FreeImaged.dll 复制到我正在构建 .exe 的调试文件夹中

  8. 将 FreeImage.h 添加到项目中

  9. 在包含标题之前添加了#define FREEIMAGE_LIB

  10. 试图在任何地方构建我的项目-> LNK2019s。

如果有人能够在 VS2013 上构建 FreeImage 并且可以分享他们是如何做到的,我将不胜感激,或者如果有人有任何建议。

0 投票
0 回答
91 浏览

c++ - 视觉工作室2013;FreeImage 库的错误 C2039

刚刚将我的应用程序从 VStudio2012 移至 2013,我遇到了 FreeImage 库的问题,编译时出现 C2039 错误。

首先,我使用 MSBuild 从一个 bat 文件编译这个库。由于最新的 FreeImage sln 是 VStudio2008,我必须将其升级到 VStudio2013 devenv /Upgrade FreeImage\FreeImage.2008.sln

这至少解决了我的一个问题,但现在微软更新了一些标准库的头文件,删除了算法包含,影响了 FreeImage 编译。我需要编辑 4 个文件并添加包含算法标题,这是我要删除的手动工作。但首先我想知道你的建议。

是否有来自 VStudio 的命令行工具可以帮助我自动执行此任务?是否有替代使用记事本 + 字符串查找 + 添加文本的选项?

我知道 VCBuild 有一个选项,但我不想安装旧的 SDK + .NET,最好找到一个带有 MSBuild 和 VStudio2013 工具的选项。

0 投票
0 回答
93 浏览

c# - 为什么不使用 FreeImage.UnloadEx 释放文件句柄

使用 FreeImageNet 库中的 FreeImage 类,我正在加载所有格式的图像。但是它没有释放一些大型J2K图像的文件句柄,这就是图像没有加载的原因。

0 投票
1 回答
1864 浏览

c++ - FreeImage_Load 内存泄漏

Valgrind 向我报告了我使用的纹理加载方法导致的一些内存泄漏。我已经将它追溯到一种方法,但它似乎是 FreeImage 库本身的泄漏?

(其余的内存泄漏也都来自FreeImage_Load,这里省略)

这似乎表明泄漏在 Texture::LoadTexture 方法中,这是该方法:

任何人都可以提供任何帮助,不知道如何调试这个。

0 投票
1 回答
625 浏览

c++ - C++ 如何禁用 FreeImage 中的插件?

我已经在网上搜索了如何做到这一点,但我找不到任何关于有人如何禁用 FreeImage 中的某些插件的信息。阅读变更日志,我发现这是可能的,但我找不到任何文档。例如,我不需要 EXR(需要 OpenEXR)、JXR(需要 LibJXR)和其他一些可以减小可执行文件大小的库,我也不需要它们。

有谁知道如何在编译时禁用 FreeImage 插件?

0 投票
1 回答
1343 浏览

.net - 使用 .NET 制作渐进式无损图像

我需要一个 DLL 或没有 exe 文件的 .NET 代码来制作渐进式无损 jpeg(.jpg,不是 JPEG 2000 或几个浏览器不支持的 JPEG-LS),因为我使用的是共享主机,我可以'不执行 .exe 文件。我正在使用freeImage应该这样做,但它不会产生无损 jpeg(我已经获得了渐进式 jpeg)。

这是我的 freeImage 代码:

假设 FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE 标志使图像无损,但它不起作用。难道我做错了什么?

使用 exe 文件,我可以使用jpegtran解决问题。要获得无损渐进式 jpeg,您只需从 .NET 应用程序或 Web 执行 shell 命令。

如果执行此命令:

您将获得渐进式无损 jpeg 文件

我已经使用它并且它可以工作,但是我需要在没有 exe 文件的情况下执行它。