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

OpenGL 화면캡쳐하기 질문

0 추천

안녕하세요 바야바엔진을 쓰고있는 한개발자 입니다.

바야바 엔진이 OpenGL 기반인데 

화면 캡처하는 방법 찾다가 어떤글에서 OpenGL 비트맵 방식이 다르다고 하더라구요 

 

 

찾다가찾다가 이 소스까지 찾았는데 적용해봐도 안됩니다;;

사진저장까지는 되는데 모두 검정화면입니다.

LinearLayout 사용중이었구요

MainActivity에서 GLView 객체 만들어서   setcontentview (객체)  이렇게 해줬습니다.

public static Bitmap SavePixels(int x, int y, int w, int h, GL10 gl){
int b[]=new int[w*(y+h)];
int bt[]=new int[w*h];
IntBuffer ib=IntBuffer.wrap(b);
ib.position(0);
gl.glReadPixels(x, 0, w, y+h, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, ib);

for(int i=0, k=0; i<h; i++, k++){
for(int j=0; j<w; j++){
int pix=b[i*w+j];
int pb=(pix>>16)&0xff;
int pr=(pix<<16)&0x00ff0000;
int pix1=(pix&0xff00ff00) | pr | pb;
bt[(h-k-1)*w+j]=pix1;
}
}
Bitmap sb=Bitmap.createBitmap(bt, w, h, Bitmap.Config.ARGB_8888);
return sb;
}

 

OpenGL 기반의 어플리케이션에서 화면저장을 하려면 

어떻게 어디다가 이 코드를 써줘야하나요??

 

칸라임 (180 포인트) 님이 2014년 9월 30일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...