java怎么把map转为字节_RxJava将字节数组转换为Bitmap

对不起我的英语不好。现在我学习了rxJava 1并尝试将byte []转换为Bitmap并将其设置为imageview。但它运作缓慢。我对rxJava的工作是否正确? ps:我比rxJava更加出色,而且asynkTask的工作比较流行,这有多可能?

Observable.just(data)

.map(new Func1() {

@Override

public Bitmap call(byte[] bytes) {

BitmapFactory.Options options = new BitmapFactory.Options();

options.inJustDecodeBounds = false;

options.inPreferredConfig = Bitmap.Config.RGB_565;

options.inDither = true;

options.inMutable = true;

Bitmap largeBitmap = BitmapFactory.decodeByteArray(data, 0, data.length, options);

Bitmap bitmap = Bitmap.createScaledBitmap(largeBitmap

, (int) ((float) largeBitmap.getWidth() / 10)

, (int) ((float) largeBitmap.getHeight() / 10)

, true);

if (bitmap.getWidth() > bitmap.getHeight()) {

Matrix matrix = new Matrix();

matrix.postRotate(90); // anti-clockwise by 90 degrees

bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);

}

float k = (float) bitmap.getWidth() / (float) w_target;

if (w_target < bitmap.getWidth()) {

bitmap = Bitmap.createScaledBitmap(bitmap, w_target, (int) ((float) bitmap.getHeight() / k), true);

}

return createBlackAndWhite(bitmap);

}

})

.observeOn(Schedulers.io())

.subscribeOn(AndroidSchedulers.mainThread())

.subscribe(new Action1() {

@Override

public void call(Bitmap bitmap) {

imageview.setImageBitmap(bitmap);

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值