缩放位图安卓和性能



美好的一天,我有一个加载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,宽度和高度作为参数

最新更新