alpine-alpaca / asefile

Library for loading Aseprite files. Directly reads binary Aseprite files and does not require you to export files to JSON.
MIT License
43 stars 15 forks source link

Relax pixel width and height check to determine the ratio #22

Closed martinezjavier closed 6 months ago

martinezjavier commented 7 months ago

The Aseprite File Format Specification says the following about the pixel width and pixel height fields:

BYTE Pixel width (pixel ratio is "pixel width/pixel height"). If this or pixel height field is zero, pixel ratio is 1:1 BYTE Pixel height

But the read_aseprite() function only considers a 1:1 pixel ratio if both width and height values are 1, and not when one of these has zero value.

There are some Aseprite editors (such as LibreSprite) that don't set these fields, even when only supports a 1:1 pixel ratio. But due read_aseprite() being that strict in checking the width and height, these Aseprite files can't be read and attempting to do so will fail with the following error:

UnsupportedFeature("Only pixel width:height ratio of 1:1 supported")

martinezjavier commented 7 months ago

@alpine-alpaca @B-Reif any comments on this ?

B-Reif commented 6 months ago

I’m not a maintainer of this repo, but if this is spec compliant then LGTM

martinezjavier commented 6 months ago

I’m not a maintainer of this repo, but if this is spec compliant then LGTM

Thanks! It seems this repo is abandoned...