У меня есть следующий код для поворота изображения, но когда я перетаскиваю seekBar, он создает новое растровое изображение на старом изображении (он должен вращать более старое изображение вместо создания нового), может ли кто-то помочь меня в сортировке этой вещи.? я посетил мои старые вопросы, но никто не решил это для меняПовернуть изображение с помощью seekBar в android
общественный класс MainActivity расширяет активность реализует OnSeekBarChangeListener {
ImageView iv_image;
SeekBar seekbar;
Bitmap source;
float angle = 0;
Button buttonClick;
Bitmap rotatedImage;
static Matrix matrix;
Matrix m1 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
buttonClick = (Button) findViewById(R.id.bt);
buttonClick.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
angle += 90;
iv_image.buildDrawingCache();
source = iv_image.getDrawingCache();
rotatedImage = rotateImage(source, angle);
iv_image.setImageBitmap(rotatedImage);
}
});
}
void init() {
iv_image = (ImageView) findViewById(R.id.iv_image);
seekbar = (SeekBar) findViewById(R.id.seekbar);
seekbar.setOnSeekBarChangeListener(this);
// seekbar.setOnSeekBarChangeListener((OnSeekBarChangeListener) this);
}
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
angle = progress;
iv_image.buildDrawingCache();
source = iv_image.getDrawingCache();
rotatedImage = rotateImage(source, angle);
iv_image.setImageMatrix(null);
iv_image.setImageBitmap(rotatedImage);
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public static Bitmap rotateImage(Bitmap sourceImage, float angle) {
matrix = new Matrix();
matrix.postRotate(angle);
return Bitmap.createBitmap(sourceImage, 0, 0, sourceImage.getWidth(),
sourceImage.getHeight(), matrix, true);
}
Я не думаю, что вы вывесили ваш код ... = P – Wildcopper
Почему бы заменить всю битовую карту, когда вы можете просто обновить матрицу изображения с новым углом поворота? Это было бы намного эффективнее! – whitebrow
введите код –