Kivy: Lógica engañosa de formato de píxeles en _image_sdl2.pyx load_from_surface()

Creado en 9 jul. 2017  ·  3Comentarios  ·  Fuente: kivy/kivy

Descripción

No se alcanza el camino feliz previsto de convertir a BGR888/ABGR8888 si image.format.BytesPerPixel es 3 o 4. En cambio, esta es la ruta de ejecución predeterminada . Parece que BPP=3 no hará ninguna conversión, o incorrectamente como ABGR si Rshift>Bshift.

Código y registros

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

Has PR Needs-analysis

Comentario más útil

¿Estaba borracho? o_o

Todos 3 comentarios

¿Estaba borracho? o_o

@tito , ¿recuerdas el propósito de la prueba Rshift>Bshift? ¿Manejar bgr, o algún problema endian, o algo más?

He reescrito esta función, finalizaré y enviaré un pr, tal vez sea más fácil discutir eso

Creo que fue un problema endian en iOS/Android.

¿Fue útil esta página
0 / 5 - 0 calificaciones