투케이2K

772. (Android/Java) [유틸 파일] rawToBitmap : raw 폴더에 저장 된 이미지 파일 읽기 - read image file 본문

Android

772. (Android/Java) [유틸 파일] rawToBitmap : raw 폴더에 저장 된 이미지 파일 읽기 - read image file

투케이2K 2024. 4. 22. 19:53

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

 

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [RETURN] rawToBitmap : raw 폴더에 저장된 이미지 파일 읽기
    // -----------------------------------------------------------------------------------------
    public static Bitmap rawToBitmap(Context mContext, int id) {

        /**
         * // -----------------------------------------
         * [rawToTextRead 메소드 설명]
         * // -----------------------------------------
         * 1. raw 폴더에 저장된 텍스트 파일 읽기
         * // -----------------------------------------
         * 2. 호출 방식 :
         *
         *   Bitmap bitmap = C_App.rawToBitmap(A_Intro.this, R.raw.test_img);
         *
         *   if (bitmap != null){
         *      imageView.setImageBitmap(bitmap);
         *   }
         *
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         *
         * 비트맵 이미지
         * // -----------------------------------------
         * */


        // [리턴 값 선언]
        Bitmap returnData = null;


        // [로직 처리 실시]
        try {

            // [파일 읽어온다]
            InputStream resource = mContext.getResources().openRawResource(id);
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            int len = 0;

            // [파일 길이 저장]
            len = resource.read();

            // [반복문을 수행하면서 파일 내용을 읽음]
            while (len != -1) {
                byteArrayOutputStream.write(len);
                len = resource.read();
            }

            // [스트림 닫기]
            byteArrayOutputStream.close();
            resource.close();

            // [byte array >> Bitmap]
            byte [] byteArray = byteArrayOutputStream.toByteArray();
            if (byteArray != null && byteArray.length > 0){
                returnData = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
            }

        } catch (Exception e) {
            S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
        }


        // [로그 출력 실시]
        ///*
        // ===============================================================
        S_Log._D_("raw 폴더에 저장된 이미지 파일 읽기", new String[]{
                "INPUT :: " + String.valueOf(id),
                "RETURN :: " + String.valueOf(returnData)
        });
        // ===============================================================
        // */


        // [리턴 반환 실시]
        return returnData;
    }

 

반응형
Comments