美好的一天,我有一个加载Image
,它的大小是 1110x300 像素Picasso
,我需要将图像裁剪为 550 x 300 像素,目前我正在尝试使用 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();
问题:如何使我的位图缩放,而不是重新调整大小,以及如何提高代码的性能。
谢谢!
要回答问题的一部分,要裁剪位图,您可以使用:
resizedBitmap = Bitmap.createBitmap(bitmap, 0,0,yourwidth, yourheight);
所以你提供原始位图,开始X,开始Y,宽度和高度作为参数