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

이미지 크기 변형 질문이요

0 추천

그림판으로 대충그려서... 죄송 ㅎ

질문할게요 예를 들어 두이미지가 있으면 A이미지의 사람사이즈를 구해놓고 B이미지의 사람사진을 A이미지의

사람사진 사이즈와 같게 크기를 변형시킬려구 하는데요 어떻게 해야할까요?

돈파리 (160 포인트) 님이 2013년 6월 9일 질문

2개의 답변

0 추천
정확한 질문의 의도를 이해하지 못하겠습니다.

단순히 imageview의 크기를 알아오고 다른 imageview의 사이즈를 조절하는 것을 질문하신건가요?
그후최초 (2,980 포인트) 님이 2013년 6월 10일 답변
이미지내에 부분크기를 조절하고 싶습니다 a이미지의 팔길이가 구해지면 b이미지의 팔길이도 같게하고 다리나 몸통도 같게요
0 추천
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 을 변경 시키는 방법이 있습니다.

센스가이 (2,010 포인트) 님이 2013년 6월 10일 답변
...