android.nio 包中定义里Buffer和类型相关的子类:
Buffer类功能类似于数组,它定义了一些用于管理和服务数组中元素的方法。
Bitmap类中定义的方法public void copyPixelsFromBuffer(Buffer src)和 public void copyPixelsToBuffer(Buffer dst) 可以用来实现Bitmap 的像素数组与Buffer直接的数据交换。和Bitmap的public void getPixels(int[] pixels, …)和public void setPixels(int[] pixels, …)不同的是,使用Buffer于Bitmap进行数据交换时,buffer中的数据不会有变化,而是要setPixels ,getPixels 的int[] pixels会自动根据Bitmap 当前的配置(ARGB_8888,RGB_565,ARGB_4444)有所转换,这是因为int[] pixels格式总是ARGB_8888格式。
而在使用Buffer时,可以选用IntBuffer (ARGB_8888) ,ShortBuffer(RGB_565,ARGB_4444)对应不同的Bitmap配置。
本例BitmapPixels 介绍了如和使用IntBuffer,ShortBuffer来直接修改Buffer中Pixel值(不通过Canva