不调用Glide BitmapTransformation

时间:2018-01-22 10:12:20

标签: android image android-glide

我试图在Glide中旋转我的图像。 我已经创建了BitmapTransformation,因为它在文档中说。 问题是没有调用覆盖的方法变换,因此图像根本不旋转。我使用的是Glide 3.7.0

    @Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    Uri imageUri = this.imageUri;

    Glide.with(getContext())
            .load(imageUri)
            .transform(new RotateTransformation(getContext(), 90))
            .fitCenter()
            .into(imageView);
}

public class RotateTransformation extends BitmapTransformation {

    private float rotateRotationAngle = 0f;

    public RotateTransformation(Context context, float rotateRotationAngle) {
        super(context);

        this.rotateRotationAngle = rotateRotationAngle;
    }

    @Override
    protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
        Matrix matrix = new Matrix();

        matrix.postRotate(rotateRotationAngle);

        return Bitmap.createBitmap(toTransform, 0, 0, toTransform.getWidth(), toTransform.getHeight(), matrix, true);
    }

    @Override
    public String getId() {
        return "rotate" + rotateRotationAngle;
    }
}

1 个答案:

答案 0 :(得分:1)

更新

Glide.with(getContext())
            .load(imageUri)
            .transform(new RotateTransformation(getContext(), 90))
            .fitCenter()
            .into(imageView);

Glide.with(getContext())
            .load(imageUri)
            .fitCenter()
            .transform(new RotateTransformation(getContext(), 90))
            .into(imageView);