8
|
Dave Jarvis James Eichele · 技术社区 · 14 年前 |
![]() |
1
4
我相信libpng有一个流接口。我认为这可以用来一次读取图像的一部分;根据图像文件的不同,您可能可以按顺序获得行。然后可以收缩每一行(例如,收缩50%,水平收缩该行并丢弃每一行)并写入输出文件。 在C中使用libpng需要相当多的代码,但是文档可以很好地指导您完成它。 http://www.libpng.org/pub/png/libpng-1.2.5-manual.html#section-3.8 |
![]() |
2
1
你可以尝试制作一个64位的ImageMagick版本,或者看看是否有。我的同事写了一篇博客,里面有一个超级简单的png解码器(假设你有zlib或类似的解码器),这样你就可以看到自己需要的代码了。 http://www.atalasoft.com/cs/blogs/stevehawley/archive/2010/02/23/libpng-you-re-doing-it-wrong.aspx 你需要在阅读时重新取样。 |
![]() |
3
1
几年前我用过cximage。我想最新的版本是 http://www.xdp.it/cximage.htm 离开CodeProject后。 编辑:对不起,它是C++而不是C。 |
![]() |
4
1
IM imaging toolkit . 它与C很好地链接(但是至少部分地以C++实现),并且与Lua有很好的绑定。从Lua绑定来看,实验应该很容易。 |
![]() |
5
1
libvips 对巨大的图像很满意。它是一个流图像处理库,因此它可以同时并行地从源代码读取、处理和写入目标。它通常比imagemagick快3到5倍,并且需要很少的内存。 例如,使用笔记本电脑上最大的PNG(1.8gb),我可以缩小10倍:
不快,但也不太破旧。PNG是一种相当慢的格式,使用TIFF会快得多。 there's a Windows binary ,并且是免费的(LGPL)。除了命令行外,还有C、C++、Python、Ruby、Lua、节点、PHP等绑定。 |
![]() |
6
0
你考虑过探索金字塔图像吗?想象一下一个金字塔,图像被分成多个层,每个层有不同的分辨率。每一层都被分割成瓷砖。 这样可以显示图像的缩小版本,也可以显示图像的放大部分视图,而无需重新缩放。 最初的格式之一是FlashPix,我为它编写了一个渲染器。 我还创建了一个金字塔转换器和渲染器的新格式,用于医疗应用程序。一台真正的扫描仪可以对一个器官切片进行90GB以上的扫描,用于癌症研究。 现在你再也听不到任何关于金字塔图像的东西了。但这确实是按需生成缩放图像而不必生成缓存缩放版本的唯一有效方法。
我记得ImageMagick的支持者格式和转换可能包括FlashPix。 谷歌搜索“图像金字塔”会发现一些有趣的结果。带回一些回忆;—) |
![]() |
7
0
|
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |