Glide入門チュートリアル-21.画像を回転する方法

4168 ワード

Glide-画像を回転する方法


原文:How to Rotate Images作者:Norman Peitek翻訳:Dexter 0218
先日、Picassoがこの即学即用機能を提供するため、Glideで画像を回転する方法について質問がありました.残念なことに、Glideはこの方法の呼び出しを提供していませんが、このブログでは、ほとんど同じように簡単にする方法を示します.Glideの詳細が必要な場合は、ブログの記事リストのトピックを参照してください.
文/サインするとすぐ着きます(簡書の作者)
テキストリンク:http://www.jianshu.com/p/a0eb280af7ae
著作権は作者の所有で、転載は作者に連絡して授権を得て、そして“簡書の作者”を表示してください.

Glideで画像を回転する方法


実際にはandroid.graphics.Matrix種類がちょうど私たちに必要なものを提供しています.画像を回転させるコードは、実際には非常にストレートです.
Bitmap toTransform = ... // your bitmap source

Matrix matrix = new Matrix();  
matrix.postRotate(rotateRotationAngle);

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

特にGlideを使用する場合、BitmapTransformationに包装されています.
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;
    }
}

このクラスで何が起こっているのかまだ分からない場合は、カスタム変換の文章の紹介を振り返ってみると、知っておく必要があるものが見えます.
最後に、新しい変換のいくつかの例を見てみましょう.
private void loadImageOriginal() {  
    Glide
        .with( context )
        .load( eatFoodyImages[0] )
        .into( imageView1 );
}

private void loadImageRotated() {  
    Glide
        .with( context )
        .load( eatFoodyImages[0] )
        .transform( new RotateTransformation( context, 90f ))
        .into( imageView3 );
}

もちろん、2番目のパラメータを変更して、どの程度回転するかを設定することができます.動的に設定できます!
Glideで画像を回転させる必要があります.ここでは、ライブラリで直接提供されていなくても、すべてのコードと知識を提供します.もしこれがあなたに役に立つならば、私たちはあなたに以下の友好的な評論に感謝します!
文/サインするとすぐ着きます(簡書の作者)
テキストリンク:http://www.jianshu.com/p/a0eb280af7ae
著作権は作者の所有で、転載は作者に連絡して授権を得て、そして“簡書の作者”を表示してください.