image.format.BytesPerPixel
が3または4の場合に、BGR888/ABGR8888に変換するという意図されたハッピーパスに到達していません。 代わりに、これがデフォルトの実行パスです。 BPP = 3は変換を行わないか、Rshift>Bshiftの場合はABGRとして誤って行われるようです。
fmt = 'rgb'
if fmt not in ('rgb', 'rgba'): # <------- suspect "not"
if fmt == 'rgb':
https://github.com/kivy/kivy/blob/1.10.0/kivy/core/image/_img_sdl2.pyx#L63 -L64
酔った? O_o
@tito Rshift> Bshiftテストの目的を覚えていますか? bgr、またはエンディアンの問題、または他の何かを処理しますか?
私はこの関数を書き直しました、prを完成させて提出します、多分それについて議論するのはより簡単です
iOS/androidではエンディアンの問題だったと思います。
最も参考になるコメント
酔った? O_o