图片压缩

图就是一个像素数组,数组中的每个像素就代表着图片中的一个点
A bitmap image (or sampled image) is an array of pixels
(or samples). Each pixel represents a single point in the image. JPEG, TIFF,
and PNG graphics files are examples of bitmap images.
JPEG 和 PNG ,
都是一种压缩的位图图形格式
PNG 图片是无损压缩,并且支持 alpha 通道,

JPEG 图片则是有损压缩,可以指定 0-100% 的压缩比
UIImagePNGRepresentation(<#T##image: UIImage##UIImage#>)

UIImageJPEGRepresentation(<#T##image: UIImage##UIImage#>, <#T##compressionQuality: CGFloat##CGFloat#>)

这两种方法对图片进行压缩,前者return PNG格式,后者返回JPEG格式
颜色空间:在 Quartz 中,
一个颜色是由一组值来表示的,而颜色空间则是用来说明如何解析这些值的,离开了颜色空间,
它们将变得毫无意义,故而相同的值在不同的颜色空间里表示的颜色不同
用这两种方法对图片进
行处理的话,图片的长和宽是不会改变的,JPEG类型的压缩可以改变图片质量
也可以用
UIGraphicsBeginImageContext 对图片进行缩放,这个过程中,图片的长和宽会发生改变,
但是,图片清晰度即图片质量不会改变,
但是图片大小会改变
(解压缩后的图片大小 = 图片的像素宽 * 图片的像素高 * 每个像素所占的字节数 4)

使用UIGraphicsBeginImageContext是相当于UIGraphicsBeginImageContextWithOptions的
缩放比例即最后一个参数为1.0,所以有时候绘制的图片会比较模糊
UIGraphicsBeginImageContextWithOptions有3个属性,

第一个是size就是绘制的范围,
第二个是opaque,也就是这个图层是否完全透明,一般为false,如果为true则为黑色背景。

最后一个是scale,就是缩放比例,当设置为0的时候,系统会自动进行最佳的缩放,所以一般设置为0

 

posted @ 2017-08-19 09:24  月亮和便士  阅读(203)  评论(0编辑  收藏  举报