package com.example.imagesize;
import android.graphics.*;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
ImageView image1, image2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image1 = (ImageView)findViewById(R.id.image1);
image2 = (ImageView)findViewById(R.id.image2);
Button btnChangeSize = (Button)findViewById(R.id.btnChangeSize);
btnChangeSize.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
/// Image Size 변경.
Matrix m = new Matrix();
float sx = (float)image1.getWidth() / image2.getWidth();
float sy = (float)image1.getHeight() / image2.getHeight();
m.postScale(sx, sy);
image2.buildDrawingCache();
/// Image를 다시 생성.
Bitmap b = Bitmap.createBitmap(image2.getDrawingCache(), 0, 0, image2.getWidth(), image2.getHeight(), m, true);
image2.setImageBitmap(b);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
//////////////////////////////////// Main Activity///////////////////////////////////////////////
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image1"/>
<ImageView
android:id="@+id/image2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image2"/>
</LinearLayout>
<Button
android:id="@+id/btnChangeSize"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="change"/>
</LinearLayout>
<!-------------------------activity_main -------------------------------------->

위와 같이 Matrix를 생성해서 매트릭스로 Scale 을 변경 시키는 방법이 있습니다.