65.9K
CodeProject 正在变化。 阅读更多。
Home

不规则或非矩形位图

starIconstarIconemptyStarIconemptyStarIconemptyStarIcon

2.00/5 (8投票s)

2008年1月23日

CPOL

2分钟阅读

viewsIcon

41623

downloadIcon

484

将矩形位图转换为非矩形位图 (.ppg)

引言

很多时候,我们需要非矩形位图,只存储图片所需部分的位图。

只需定义所需区域并调用

一个函数来存储选定区域内的图片。然后只需调用另一个函数

来创建一个存储像素的位图,并在任何地方使用它。位图中选定区域之外的像素

在位图中将不可见,因为它使用 alpha 值 0。

详细信息

此应用程序为用户提供了将矩形位图或图片转换为非
矩形图片的功能,方法是剪裁边界之外的区域。用户只需使用鼠标光标绘制多边形即可分离图片的所需部分和不需要的部分。

背景

每当我们将一些图像存储在辅助设备上时,我们都会将图像存储在外部矩形区域中。在这种情况下,图像以外的矩形区域必须填充某种颜色,并消耗不必要的内存。相反,如果只存储图像的所需区域,则在节省辅助存储器方面具有很大优势。与矩形位图相比,加载和保存图像将更占用 CPU,但更节省空间。

关注点

此算法仅存储多边形边界内的像素颜色,并节省了
外部区域浪费的大量额外空间。例如,以“十字”图片为例,实际上只需要总存储空间的 10%,而浪费了 90% 的存储空间。因此,我们的算法在这种情况下将节省 90% 的空间。

如何使用

执行步骤。

1. 打开普通位图。

2. 通过自由多边形/有界多边形定义外部区域多边形。

3. 将不规则形状的位图保存为 ppg 图片。

4. 关闭当前图片。

5. 打开最后保存的 ppg 图片。

6. 如果更多,请执行步骤 2 到 5。

7. 查看原始位图和 ppg 图片的大小。是的,它确实……

历史

我想听听用户对此文章的评论/意见。它以 ARGB 格式存储图片像素,如果提供诸如 jpeg 或 gif 之类的进一步压缩,它也可能比它们更好。

谢谢

Vikas Maan,Tek

vikas.jpg

© . All rights reserved.