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

directX에서 패킹한 이미지 안드로이드로 bitmap 불러오기 관련 질문입니다.

0 추천
안녕하세요... 안드로이드 입문한지 2주된 초보입니다.

지금 directX에서 사용하기 위한 텍스처 패킹 툴이 있는데

D3DXCreateTextureFromFileInMemoryEx 함수 사용해서 directX에서 로딩하고 있습니다.

해당 툴 데이터를 java에서 불러들이는데

LPBYTE(unsinged char) 형태로 데이터가 저장되는데

이부분을 byte[]로 불러들이니 unsinged와 signed 문제인지 이미지가 불러오지 않습니다.

 

어떻게 처리하면 좋을지 가르쳐 주세요... (__)
익명사용자 님이 2013년 10월 25일 질문

1개의 답변

0 추천
DirectX에서 어떻게 패킹을 했는지 모르겠습니다.
패킹을 해서 Bitmap 파일로  떨군건가요?
아님 RGBA 데이터 어레이를 형식으로 저장한건가요? 아님 Texture 정보 형식인가요?
 
Bitmap 파일로 떨궜다면 
 
특정 칼라 형식의 어레이 형식으로 패킹하셨다면 
칼라 형식에 따라 아래의 함수와 비슷한 함수를 만들어 설정하시면 되며,
 
Bitmap createBitmap( int width, int height, byte[] RGBA )
{
    int[] pixels = new int[width * height];
 
 
    int offset = 0;
    for (int i = 0; i< height * width; i++) {
  
       pixels[i] = (RGBA[3 + offset] & 0xFF) | ((RGBA[2 + offset] & 0xFF) << 8) |
                  ((RGBA[1 + offset] & 0xFF) << 16) | ((RGBA[0 + offset] & 0xFF); // RGBA 가 아닌 다른 형식이면 이쪽 코드를 변경해주셔야 합니다.
         offset+= 4;
    }
 
    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
    return bitmap;
}
 
Texture 정보 형식이라면, 변환이 가능할지 모르겠네요..
Texture처리는 안드로이드에선 주로  Opengl 을 통해서 하는데 데이터가 상호 호환이 될지는 모르겠습니다.
 

 

사악미소 (65,330 포인트) 님이 2013년 10월 25일 답변
아 감사합니다.
픽셀 정보를 다 넘겨주고 있는 방식이여서 픽셀 복사 방식으로 해야 겠네요
다시한번 감사합니다 ^^
...