Je veux créer un bitmap à partir d'un imageView, mais je dois d'abord faire pivoter mon imageView avant de convertir le bitmap. J'utilise le code suivant pour convertir imageView en bitmap.Android ImageView au bitmap après la rotation
BitmapDrawable drawable = (BitmapDrawable) imgPhoto.getDrawable();
Bitmap photo = drawable.getBitmap();
L'imageView implémente un mouvement de rotation. Je veux être en mesure de faire pivoter l'imageView et ensuite créer un bitmap en utilisant l'imageView pivoté. Cependant, il semble que mon bitmap continue d'obtenir l'image originale plutôt que la position pivotée. Ce qui suit est le code complet. Je vous remercie.
public class MainActivity extends AppCompatActivity implements RotationGestureDetector.OnRotationGestureListener{
private ImageView imgPhoto, imgBackground, imgCombine;
private RotationGestureDetector mRotationDetector;
private Button btnCombine;
private float angle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRotationDetector = new RotationGestureDetector(this);
imgPhoto = (ImageView) findViewById(R.id.imgPhoto);
imgBackground = (ImageView) findViewById(R.id.imgBackground);
collageImage = (ImageView) findViewById(R.id.imgCombine);
btnCombine = (Button)findViewById(R.id.btnCombineImage);
btnCombine.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BitmapDrawable drawable = (BitmapDrawable) imgPhoto.getDrawable();
Bitmap photo = drawable.getBitmap();
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event){
mRotationDetector.onTouchEvent(event);
return super.onTouchEvent(event);
}
@Override
public void OnRotation(RotationGestureDetector rotationDetector) {
angle = rotationDetector.getAngle();
Log.d("RotationGestureDetector", "Rotation: " + Float.toString(angle));
imgPhoto.setRotation(imgPhoto.getRotation() + (-angle));
}
}
Je reçois une méthode ne peut pas être résoudre Erreur. Bitmap rotatedPhoto = Bitmap.createBitmap (imgPhoto, 0, 0, imgPhoto.getWidth(), imgPhoto.getHeight(), matrice, true); – Julia