Bitmap--学习笔记

Bitmap是Android系统中的图像处理的最重要类之一。

用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件

Bitmap类的构造函数是私有的,外面并不能实例化,只能是通过JNI实例化

BitmapFactory通过实现了JNI接口来实例化bitmap

为了防止图片OOM,它还提供了Options这个参数

public boolean compress(Bitmap.CompressFormat format, int quality,OutputStream stream)压缩:

将位图的压缩到指定的OutputStream。如果返回true,位图可以通过传递一个相应的InputStream BitmapFactory.decodeStream(重建)。
format: 压缩图像的格式

quality: 0-100。 0含义压缩为小尺寸,100压缩的意思为最大质量。(PNG是无损的,会忽略品质设定 )

stream: OutputStream中写入压缩数据。

return: 是否成功压缩到指定的流。

------------------------------------------------------------------------------------------------------------------------------------------

public void recycle()——回收位图占用的内存空间,把位图标记为Dead

public final boolean isRecycled() ——判断位图内存是否已释放

public final int getWidth()——获取位图的宽度

public final int getHeight()——获取位图的高度

public final boolean isMutable()——图片是否可修改

public int getScaledWidth(Canvas canvas)——获取指定密度转换后的图像的宽度

public int getScaledHeight(Canvas canvas)——获取指定密度转换后的图像的高度

public boolean compress(CompressFormat format, int quality, OutputStreamstream)——按指定的图片格式以及画质,将图片转换为输出流。

BitmapFactory工厂类:

public boolean inJustDecodeBounds——如果设置为true,不获取图片,不分配内存,但会返回图片的高宽度信息。

public int inSampleSize——图片缩放的倍数。如果设为4,则宽和高都为原来的1/4,则图是原来的1/16。

public int outWidth——获取图片的宽度值

public int outHeight——获取图片的高度值

public int inDensity——用于位图的像素压缩比

public int inTargetDensity——用于目标位图的像素压缩比(要生成的位图)

public boolean inScaled——设置为true时进行图片压缩,从inDensity到inTargetDensity。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容