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

보통 스크린 배경 해상도는 몇바이몇으로 잡나요?

0 추천
앱 개발중에 문제가 있습니다

기기 해상도가 1920 1080이여서 배경으로 들어가는 이미지 파일도 같은 사이즈로 쓰면 되겠다는 생각에

이미지파일을 같은 사이즈의 png 파일로 준비했습니다.,

그리고 적용시키는데 이미지가 안뜨는 겁니다. 로그창을 보니까 이미지 사이즈가 너무 크다고 되어있더라구요

그리고 보니까 이미지 사이즈가 1920 1080이 아니라 3배 뻥튀기된 사이즈인 5760 3240이라고 하더라구요 그러면서 최대치가 4천몇인데..이걸 넘어갔다고 못쓴다고 하더라구요

구글링을 해보니 무슨 그 값은 실제 이미지사이즈가 아니라 디코딩?된 사이즈라고 하는데 자세한거는 잘 모르겠습니다..

그래서 말인데 보통 이렇게 배경으로 쓸 이미지 파일의 사이즈는 어떻게 정하나요? 보통 어떻게 쓰는지 궁금합니다.
빙구짱 (1,720 포인트) 님이 2015년 7월 20일 질문

1개의 답변

0 추천
보통은 1024 768 쓰고 그 위의 해상도의 경우 리사이즈해서 사용합니다.

public void resizeBitmap(String strPath){
		mBitmap = BitmapFactory.decodeFile(strPath);
		BitmapFactory.Options option = new BitmapFactory.Options();
		 if((mBitmap.getWidth() > 4000) || (mBitmap.getHeight() > 4000 ))//max width * height 4096 * 4096 (in kitkat)
		 {
			 option.inSampleSize = 2; // 1/2 크기로 축소 2의 배수단위가 처리 속도가 가장빠름
		 }
		 else
		 {
			 option.inSampleSize = 1;
		 }
		 mBitmap = BitmapFactory.decodeFile(strPath, option);
		 int width = mBitmap.getWidth();
		 int height = mBitmap.getHeight();
		 int newWidth = width;
		 int newHeight = height;
		 float rate = 0.5f;
		 int maxResolution = 4000;
		 if(width < height)
		 {
			 if(maxResolution < width)
			 {
				 rate = maxResolution / (float) width;
				 newHeight = (int) (height * rate);
				 newWidth = maxResolution;
			 }
		 }
		 else
		 {
			 if(maxResolution < height)
		        {
		            rate = maxResolution / (float) height;
		            newWidth = (int) (width * rate);		
		            newHeight = maxResolution;
		        }
		 }
		 Bitmap resized = Bitmap.createScaledBitmap(mBitmap, newWidth, newHeight, true);
		 mImage.setImageBitmap(resized);
//		 mBitmap.recycle();
	}

 

안드디벨롭 (240 포인트) 님이 2015년 7월 20일 답변
...