glReadPixels()
をEGLに置き換えようとしています。AndroidでGraphicBuffer(EGL)を使用しているときに特定のディスプレイ幅のみが機能する
this postを参照して、私は正常に自分のプロジェクトで動作させるようにしました。私のコードは、その投稿とほぼ同じです。
しかし、奇妙なことは、 - 幅は特定のピクセルでなければなりません。たとえば、384,640,720、 1280などです。これらの中に設定しないと、画像は実際にレンダリングされますこれらの間の他の幅は、cv :: Matなどで表示すると歪んでしまうでしょう。
EGLImageの幅にはいくつかの制限があります。残念ながら私はAndroidの開発に精通していません...
これはどうしますか?それを修正するには?
ありがとうございます。
ありがとうございます!あなたが正しいです。 GraphicBufferには、描画バッファの実際の幅を示す 'getStride()'があります。各行の末尾にパディングをスキップするだけで、すべて正常に動作します –