마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Matrix 이미지 회전..

0 추천
package com.example.graphtest3;


import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;

public class MainActivity extends Activity {
 
 EditText et;
 Button bt;
 ImageView iv;
 Bitmap bit;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  et = (EditText)findViewById(R.id.et);
  bt = (Button)findViewById(R.id.bt);
  iv = (ImageView)findViewById(R.id.iv);
  
  bit = BitmapFactory.decodeResource(getResources(), R.drawable.meter2);
  iv.setImageBitmap(bit);
 
  bt.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
    float degree;
    Bitmap b;
    degree = Float.parseFloat(et.getText().toString());
    Matrix mat = new Matrix();
    mat.setRotate(degree);
    int w = bit.getWidth();
       int h = bit.getHeight();

       b = Bitmap.createBitmap(bit, 0, 0, w, h, mat, true);
       Log.e("w,h", String.valueOf(b.getWidth())+", "+String.valueOf(b.getHeight()));
       iv.setImageBitmap(b);

   }
  });
 }

}

안녕하세요

이미지 회전처리 때문에 질문드립니다.

일단 위 소스코드는.. 예제로 작성한것인데요. EditText에 값 입력하고 버튼 누르면 입력한값 만큼

이미지가 회전하는겁니다 다 잘되는데 문제는, 이미지가 회전되면서 크기가 변화가 된다는겁니다.

정사각형의 이미지를 표현하는데, 예를들어 45도로 회전시켜버리면, 정사각형이 마름모 꼴이 되버리고, 이것을

고정된 크기의 이미지뷰에 나타내려니 당연하게도 이미지가 작아져버리고 있네요..

어떻게 해결해야될까요?

아시리 (8,400 포인트) 님이 2015년 3월 16일 질문

2개의 답변

0 추천
 
채택된 답변
RotateAnimation 을 이용하면 가능하지 않을까요.
안티푸라면 (6,700 포인트) 님이 2015년 3월 16일 답변
아시리님이 2015년 3월 16일 채택됨
감사합니당 ㅎㅎ 생각도 못햇던 방법 ㅎㅎㅎㅎㅎㅎㅎ
해결했어요!
0 추천
aucd29 (218,390 포인트) 님이 2015년 3월 16일 답변
...