android

[Android]Bitmap 파일을 비율에 맞게 늘리거나 줄이기

포카리s 2015. 9. 3. 17:58
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

public static int[] getScaleSizeByWidth(final Context ctx,final Bitmap bitmap,final int wid){

        Bitmap bm = bitmap;

       

        if(bm!=null){

       

int viewWeight = wid;

float width = bm.getWidth();

float height = bm.getHeight();

 

   float percente = (float)(width / 100);

   float scale = (float)(viewWeight / percente);

   width *= (scale / 100);

   height *= (scale / 100);

   //bm.recycle();

   

int[] i = new int[2];

i[0] = (int)width;

i[1] = (int)height;

return i;

        }else{

        int[] i = new int[2];

        i[0] = 0;

        i[1] = 0;

        return i;

        }

}


위의 메서드를 사용하여 비트맵 이미지를 가로/세로 비율을 유지한채 늘이거나 줄일수가 있다

즉 이미지가 깨지는? 현상을 없앨수 있다.



public static int convertToPx(Context ctx, int dp) {

final float scale = ctx.getResources().getDisplayMetrics().density;

return (int)(dp*scale+0.5f);

}


그리고 이건 dp값을 pixel값으로 변환해주는 메서드 이다