码迷,mamicode.com
首页 > 其他好文 > 详细

图片压缩

时间:2017-08-19 11:04:58      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:ext   examples   参数   一个   example   1.0   res   两种方法   point   

图就是一个像素数组,数组中的每个像素就代表着图片中的一个点
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

 

图片压缩

标签:ext   examples   参数   一个   example   1.0   res   两种方法   point   

原文地址:http://www.cnblogs.com/moonandpenny/p/7395502.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!