2012-06-05 4 views
0

Я хочу повернуть растровое изображение на 90 градусов в Android. И я не хочу получать новый экземпляр. Есть ли способ разрешить это? У меня есть идея: просто поверните пиксели растрового изображения. Но я не могу этого сделать.Как повернуть пиксели растрового изображения

temp = Bitmap.createBitmap(temp, 0, 0, w, h, matrix, false);

+1

Ответ на эту ссылку: http://stackoverflow.com/questions/2968397/algorithm-to-rotate-an- image-90-degrees-in-place-no-extra-memory – Shrikant

+0

Добавьте код для определения матрицы –

+0

'Matrix matrix = new Matrix(); matrix.setRotate (90);' – jhondge

ответ

1

Это работает:

http://warting.github.com/AndroidBitmapRotate/

public class RotateBitmapActivity extends Activity { 

    ImageView iv; 
    private Bitmap bitmap; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); 
     iv = (ImageView) findViewById(R.id.ImageView01); 

     findViewById(R.id.left).setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       rotate(-90F); 
      } 
     }); 

     findViewById(R.id.right).setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       rotate(90F); 
      } 
     }); 
    } 

    private void rotate(float degrees) { 

     Matrix rotateMatrix = new Matrix(); 
     rotateMatrix.postRotate(degrees); 

     bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), rotateMatrix, true); 
     iv.setImageBitmap(bitmap); 
    } 
} 
+0

Спасибо за ответ. Но я хотите получить растровое изображение только сэм e. У вашего разрешения будет два разных экземпляра. Я не могу удержать refview. – jhondge

+0

Я не знаю, почему это важно, будет ли оно работать, если вы создадите собственный класс, который содержит растровое изображение и сохранит ссылку на класс вместо этого? –

Смежные вопросы