你已经能使用EGL_image扩展从GPU中读取渲染后的画面了。但你可能会发现,参数一样,有些手机预览时都是正确的,但输出的画面,呈现很有规律的错位花屏,像这样:
预览—-
QQ20160612-0

输出—-
QQ20160612-1

很典型的由于图片stride 和width不同造成的,比较常规的解决方案是

int srcOff = 0;
int dstOff = 0;
int srcOffSize = Stride * 4;
int dstOffSize = Width * 4;
for (int i = 0; i < Height; i++) {
    memcpy(dst + dstOff, src + srcOff, dstOffSize);
    srcOff += srcOffSize;
    dstOff += dstOffSize;
}