Android2009. 12. 31. 16:04

PNG 파일을 불러와 그려주고 크기변경하고 이미지 자르기 테스트

작성코드

DrawTest.java

    protected void onDraw(Canvas cvs){

        

        Paint paint = new Paint();

        paint.setColor(Color.argb(iA, iR, iG, iB));

      

        Bitmap iOrigin = getImage(R.drawable.img_test);

        Bitmap iResize = resizeImage(iOrigin, 50, 200);

        Bitmap iClip = clipImage(iOrigin, 21,5, 58, 32);

        

        cvs.drawBitmap(iOrigin, 0, 0, paint);

        cvs.drawBitmap(iResize, iOrigin.getWidth(), 0, paint);

        cvs.drawBitmap(iClip, iOrigin.getWidth()+iResize.getWidth(), 0, paint);

        

    }

    /**

     * Get Bitmap

     * @param resId Resource ID

     * @return 비트맵 넘겨주기

     */

    public Bitmap getImage(int resId){

        return BitmapFactory.decodeResource(getResources(), resId);

    }

    /**

     * Resize Bitmap

     * @param origin 원본 비트맵

     * @param width 변경할 비트맵의 가로 사이즈

     * @param height 변경할 비트맵의 세로 사이즈

     * @return 변경된 비트맵 넘겨주기

     */

    public Bitmap resizeImage(Bitmap origin, int width, int height){

        return Bitmap.createScaledBitmap(origin, width, height, true);

    }

    /**

     * Clip Bitmap

     * @param origin 원본 비트맵

     * @param sx 원본이미지에서 자를곳의 시작 x 위치

     * @param sy 원본이미지에서 자를곳의 시작 y 위치

     * @param cw x,y 위치부터 자를 가로 크기

     * @param ch x,y 위치부터 자를 세로 크기

     * @return 원본 비트맵에서 자른 부분 넘겨주기

     */

    public Bitmap clipImage(Bitmap origin, int sx, int sy, int cw, int ch){

        return origin.createBitmap(origin, sx, sy, cw, ch);

    }

 

결과물


사용된 이미지

Posted by ™설야