我想创建一个android.media.Image
实例,其中包含从存储中加载的文件。
因为我想做这样的somenthing:
final Plane[] planes = image.getPlanes();
final int yRowStride = planes[0].getRowStride();
final int uvRowStride = planes[1].getRowStride();
final int uvPixelStride = planes[1].getPixelStride();
有什么想法吗?
答案 0 :(得分:-2)
试试这段代码:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(photoPath, options);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.Compress (Bitmap.CompressFormat.Jpeg, 100, stream);
ImageReader reader = ImageReader.newInstance(mWidth, mHeight, PixelFormat.RGBA_8888, 5);
Image img = reader.acquireLatestImage();
if(img != null){
final Plane[] planes = image.getPlanes();
final int yRowStride = planes[0].getRowStride();
final int uvRowStride = planes[1].getRowStride();
final int uvPixelStride = planes[1].getPixelStride();
}
当然,您需要处理(丢失文件或错误的名称/路径,选项和压缩格式)