你已经能使用EGL_image扩展从GPU中读取渲染后的画面了。但你可能会发现,参数一样,有些手机预览时都是正确的,但输出的画面,呈现很有规律的错位花屏,像这样:
预览—-
输出—-
很典型的由于图片stride 和width不同造成的,比较常规的解决方案是
1 2 3 4 5 6 7 8 9 |
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; } |
原创文章,转载请注明: 转载自贝壳博客