5 个版本 (稳定)

1.1.2 2024 年 6 月 28 日
1.1.0 2023 年 12 月 17 日
1.0.0 2023 年 12 月 16 日
0.0.1 2023 年 12 月 16 日

#201图像

MIT 许可证

31KB
386 代码行

image-merger-banner

欢迎来到 Image Merger!这是一个提供快速合并多个图像功能的crate。它建立在image crate之上,并通过利用并行处理和避免不必要的昂贵操作来提高性能。

"合并"图像是什么意思?

合并器以特定的模式/位置将许多小图像平铺到一个更大的画布上。截至目前,此库仅有一种合并器,即KnownSizeMerger,它以性能为首要目标,但很快还会添加更多。以下是一个KnownSizeMerger的输出示例,这是从crate的测试中的一般输出。

安装

在您的项目目录中运行以下Cargo命令

cargo add image-merger

基准测试

100x100 像素的固定大小图像

在合并器和线性实现之间,合并 10,000 张 100x100 像素的图像的差异非常明显。如下所示,x轴表示正在合并的图像数量,从1到10,000,而y轴表示合并所有图像所需的时间(以毫秒为单位)。线性实现用绿色表示,图像合并器用橙色表示。

在10,000张图像的间隔内,图像合并器比线性实现快了平均 3.646 倍。换句话说,生成具有 $n100^2$ 像素的合并图像的平均时间,以毫秒为单位,为 $A(n)= 0.0082n$,其中 $n$ 是合并的图像数量。此外,粘贴单个给定像素的平均时间,以毫秒为单位,为 $A\left(n\right)=\frac{0.0082n}{100^{2}}$,其中 $n$ 是合并的图像数量。

依赖关系

~2.5MB
~52K SLoC