美好的一天,
我有Image
使用Picasso
加载,大小为1110x300px,我需要将图片裁剪为550 x 300px,目前我正在尝试使用Bitmap.createScaledBitmap()
但仅限此方法调整我的图像大小,而不是裁剪。
还有另一个问题 - 性能不佳。
我的代码:
Runnable r = new Runnable(){
@Override
public void run() {
Picasso.with(getActivity()).load(builder.toString()).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
int width = Double.valueOf(bitmap.getWidth() * 0.5).intValue();
int height = bitmap.getHeight()
Bitmap newBitmap = Bitmap.createScaledBitmap(bitmap, width, height, true);
imageView.setImageBitmap(newBitmap);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {}
});
}
};
r.run();
问题:如何缩放我的Bitmap,而不是重新调整大小以及如何提高代码的性能。
谢谢!
答案 0 :(得分:1)
要回答问题的一部分,要裁剪位图,您可以使用:
resizedBitmap = Bitmap.createBitmap(bitmap, 0,0,yourwidth, yourheight);
所以你提供原始位图,启动X,开始Y,宽度&高度作为参数