On 24 December 2016 at 00:56, Ian Mallett <i...@geometrian.com> wrote:
> ​Your surface is 300*300*3 (3D), since it is RGB, but your array is only > 300*300 (2D). > Could you elaborate please? Do you mean if surface get_bitsize() returns 8, it is still 24 bit per pixel in reality? But how would one guess it from documentation? And why then surface.get_buffer() works correctly with 8 bit aray? It copies the raw data I suppose? Same as array_to_surface should probably do. I am not implying anything, but there is nothing explained in the documentation, so I just try by rule of thumb till it works.