当前位置:   article > 正文

Bitmap 详细介绍_bitmap.createbitmap

bitmap.createbitmap

Bitmap 是 Android 应用程序中用来表示图像的类,提供了多种方法来操作和处理图像数据。下面是 Bitmap 类的全部方法介绍:

构造方法

创建一个指定宽度、高度和像素格式的空白 Bitmap 对象 :

Bitmap(int width, int height, Bitmap.Config config)
  • 1

创建一个指定宽度、高度、像素格式和是否可变的空白 Bitmap 对象:

  Bitmap(int width, int height, Bitmap.Config config, boolean isMutable)
  • 1

将指定 Bitmap 对象的像素数据拷贝到新的 Bitmap 对象中:

 Bitmap(android.graphics.Bitmap source)
  • 1

将指定 Bitmap 对象的像素数据拷贝到新的 Bitmap 对象中,同时指定是否可变:

   Bitmap(android.graphics.Bitmap source, boolean isMutable)
  • 1

创建一个指定宽度、高度和像素格式的空白 Bitmap 对象:

Bitmap.createBitmap(int width, int height, Bitmap.Config config)
  • 1

从给定的颜色数组中创建一个包含指定宽度、高度和像素格式的 Bitmap 对象:

 Bitmap.createBitmap(int\[\] colors, int offset, int stride, int width, int height, Bitmap.Config config)
  • 1

从指定 Bitmap 对象中截取一部分像素数据创建一个新的 Bitmap 对象:

 Bitmap.createBitmap(android.graphics.Bitmap source, int x, int y, int width, int height)
  • 1

将指定 Bitmap 对象中的一部分像素数据应用指定的变换矩阵后创建一个新的 Bitmap 对象:

Bitmap.createBitmap(android.graphics.Bitmap source, int x, int y, int width, int height, android.graphics.Matrix matrix, boolean filter)
  • 1

将指定 Bitmap 对象缩放并创建一个新的 Bitmap 对象:

 Bitmap.createBitmap(android.graphics.Bitmap source, int width, int height, android.graphics.Bitmap.Config config)
  • 1

缩放指定 Bitmap 对象并返回一个新的 Bitmap 对象:

 Bitmap.createScaledBitmap(android.graphics.Bitmap src, int dstWidth, int dstHeight, boolean filter)
  • 1

基本方法

创建当前 Bitmap 对象的一份副本,副本的像素格式和可变性可以自定义:

copy(Bitmap.Config config, boolean isMutable)
  • 1

从指定的 Buffer 中拷贝像素数据到当前 Bitmap 对象中:

copyPixelsFromBuffer(java.nio.Buffer src)
  • 1

将当前 Bitmap对象中的像素数据拷贝到指定的 Buffer 中:

copyPixelsToBuffer(java.nio.Buffer dst)
  • 1

不支持 Parcel 序列化,返回 0:

describeContents()
  • 1

使用指定的颜色填充当前 Bitmap 对象的所有像素:

eraseColor(int color)
  • 1

从当前 Bitmap 对象中提取包含 alpha 通道信息的新的 Bitmap 对象:

extractAlpha()
  • 1

从当前 Bitmap 对象中提取包含 alpha 通道信息的新的 Bitmap 对象,同时按照给定的 Paint 对象进行颜色过滤:

extractAlpha(Paint paint, int\[\] offset)
  • 1

获取当前 Bitmap 对象所占用字节数(包括像素数据和内存管理开销等):

getAllocationByteCount()
  • 1

获取当前 Bitmap 对象的像素数据占用字节数:

getByteCount()
  • 1

获取当前 Bitmap 对象的像素格式:

getConfig()
  • 1

获取当前 Bitmap 对象的像素密度(DPI):

getDensity()
  • 1

获取当前 Bitmap 对象的高度:

getHeight()
  • 1

获取当前 Bitmap 对象的宽度:

getWidth()
  • 1

如果当前 Bitmap 对象是一个 NinePatch 阴影,则返回其对应的 chunk 数据,否则返回 null:

getNinePatchChunk()
  • 1

获取当前 Bitmap 对象中指定位置的像素颜色值:

getPixel(int x, int y)
  • 1

将当前 Bitmap 对象中指定区域的像素颜色值复制到给定的颜色数组中:

getPixels(int\[\] pixels, int offset, int stride, int x, int y, int width, int height)
  • 1

判断当前 Bitmap 对象是否包含 alpha 通道信息:

hasAlpha()
  • 1

判断当前 Bitmap 对象是否可变:

isMutable()
  • 1

判断当前 Bitmap 对象是否已经被回收:

isRecycled()
  • 1

提示系统预加载当前 Bitmap 对象的像素数据,以提高绘制效率和性能:

prepareToDraw()
  • 1

回收当前 Bitmap 对象的内存空间,释放资源:

recycle()
  • 1

设置当前 Bitmap 对象的像素密度(DPI):

setDensity(int density)
  • 1

设置当前 Bitmap 对象是否包含 alpha 通道信息:

setHasAlpha(boolean hasAlpha)
  • 1

设置当前 Bitmap 对象中指定位置的像素颜色值:

setPixel(int x, int y, int color)
  • 1

将给定的颜色数组中的像素颜色值复制到当前 Bitmap 对象中指定区域的像素数据中:

setPixels(int\[\] pixels, int offset, int stride, int x, int y, int width, int height)
  • 1

压缩方法

将当前 Bitmap 对象压缩成指定格式和质量的图像数据,并写入到给定的输出流中:

compress(Bitmap.CompressFormat format, int quality, java.io.OutputStream stream)
  • 1

将当前 Bitmap 对象压缩成指定格式和质量的图像数据,并写入到给定的通道中:

compress(Bitmap.CompressFormat format, int quality, java.nio.channels.WritableByteChannel channel)
  • 1

将当前 Bitmap 对象压缩成指定格式和质量的图像数据,并写入到指定的文件中:

compress(Bitmap.CompressFormat format, int quality, java.io.File file)
  • 1

将当前 Bitmap 对象压缩成指定格式和质量的图像数据,并写入到指定文件名的文件中:

compress(Bitmap.CompressFormat format, int quality, java.lang.String fileName)
  • 1

高级方法

生成当前 Bitmap 对象的一组 Mipmap,用于实现纹理映射等高级图形渲染功能:

generateMipMap()
  • 1

同上,但可以指定是否允许重用当前 Bitmap 对象来存储 Mipmap 数据:

generateMipMap(boolean canReuse)
  • 1

获取当前 Bitmap 对象内存的 Allocation 对象(需要支持 RenderScript):

getAllocation()
  • 1

获取当前 Bitmap 对象的颜色空间信息(需要 API 26+ 支持):

getColorSpace()
  • 1

获取当前 Bitmap 对象的版本号,用于判断对象是否被修改过:

getGenerationId()
  • 1

获取当前 Bitmap 对象的每行像素数据所占用的字节数:

getRowBytes()
  • 1

重新配置当前 Bitmap 对象的宽度、高度和像素格式等属性:

reconfigure(int width, int height, Bitmap.Config config)
  • 1

同 setPixel(int x, int y, int color),但可以指定 alpha 通道类型:

setPixel(int x, int y, int color, int alphaType)
  • 1

设置当前 Bitmap 对象是否预乘 alpha 值:

setPremultiplied(boolean premultiplied)
  • 1

获取指定资源 ID 对应的 Bitmap 图像的宽度:

getWidth(int id)
  • 1

获取指定资源 ID 对应的 Bitmap 图像的高度:

getHeight(int id)
  • 1
以上就是 Bitmap 类的全部方法介绍,在实际开发中根据需求选择合适的方法来操作 Bitmap 对象,可以实现很多有趣和有用的图像处理功能。

最后

如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。

如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。
在这里插入图片描述
相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照知识体系编排的。

全套视频资料:

一、面试合集

在这里插入图片描述
二、源码解析合集
在这里插入图片描述

三、开源框架合集
在这里插入图片描述
欢迎大家一键三连支持,若需要文中资料,直接扫描文末CSDN官方认证微信卡片免费领取↓↓↓

PS:群里还设有ChatGPT机器人,可以解答大家在工作上或者是技术上的问题

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/303756
推荐阅读
相关标签
  

闽ICP备14008679号