苹果官方文档压缩图像的方法

一、简单介绍

苹果的官方文档有一个代码演示了一种支持在有限的内存环境中显示超大图像的方法,方法是将磁盘上的大图像转换为内存中较小的图像。这在原始图像太大而无法按照要显示的要求放入内存的情况下很有用。支持的格式是:PNG,TIFF,JPEG。不支持的格式:GIF,BMP,隔行扫描图像。——[官方文档]

下面主要是想记录下这个代码中的一个宏的修改其值的区别,讲道理,之前一直搞也没搞明白,不过我现在大致将其理解成是一个提高图片压缩的精度的值。

define destSeemOverlap 2.0f

二、具体分析

这个宏分别在三个代码中被用到了

sourceSeemOverlap = (int)( ( destSeemOverlap / destResolution.height ) * sourceResolution.height );
destTile.size.height += destSeemOverlap; 
destTile.origin.y = ( destResolution.height ) - ( ( y + 1 ) * sourceTileHeightMinusOverlap * imageScale + destSeemOverlap );

其实这里面主要影响的就是

  • 对源图像和目标图像进行分块处理的高度
  • 源块和目标块的y的取值

先看下原始的图片,原始图像大小是7033 × 10110
原始图片

而我们如果定义的宏destSeemOverlap默认为2的话,那么就会缩小到1555 × 2236,图片缩小了很多,而且精度也是比较高的。
重叠像素为2的时候

当设置为10的时候,如下图所示,其实也是几乎没有差别的。
重叠像素为10的时候

但是如果是100的时候,有些地方就会变得差别大了。上面的图为100的,下面是原图,也就是精度其实是缩小了,可以理解成,毕竟本来分的比较细,如果变成100,那么分的少了。
重叠像素为100的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值