cuốn sách gpt4 ai đã làm

Ảnh chụp màn hình Android OpenGL

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 20:23:58 28 4
mua khóa gpt4 Nike

Tôi đã tìm kiếm rất nhiều về cách chụp ảnh màn hình các đối tượng OpenGL của mình trên Android và đã tìm ra cái nàygiải pháp. Nó hoạt động tốt, nhưng trong trường hợp của tôi, tôi có Chế độ xem camera và Chế độ xem opengl (với nền trong suốt) ở trên Chế độ xem camera. Vì vậy, điều tôi muốn làm là lấy ảnh chụp màn hình opengl với nền trong suốt thay vì màu đen. Như tôi đã nói, tôi đã thử liên kết ở trên và nó hoạt động nhưng tôi bị kẹt trên nền đen. Trong trường hợp cụ thể này, việc tìm ra cách loại bỏ nền đen hơi phức tạp. Hy vọng ai đó có thể giúp tôi sớm (tôi cũng nghĩ giải pháp rất đơn giản, tôi chỉ thiếu một cái gì đó đơn giản). Cảm ơn.

câu trả lời hay nhất

Tôi đã sử dụng phương pháp sau và nó hoạt động tốt.

Bitmap tĩnh công khai 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ãy nhớ rằng bitmap OpenGL không tương thích với bitmap của Android
//và vì thế, cần phải chỉnh sửa một chút.
for(int j=0; j
{
int pix=b[i*w+j];
int pb=(pix>>16)&0xff;
int pr=(pix<<16)&0x00ff0000;
int pix1=(pix&0xff00ff00) |
bt[(hk-1)*w+j]=pix1;
}
}


Bitmap sb=Bitmap.createBitmap(bt, w, h, Bitmap.Config.ARGB_8888);
trả lại ai;
}

Bạn chỉ cần gọi

YourClass.SavePixels(0,0,width,height,gl);

Tôi hy vọng điều này hữu ích cho bạn ...

Cảm ơn Mithun

Về ảnh chụp màn hình Android OpenGL, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/4731589/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress