aseprite icon indicating copy to clipboard operation
aseprite copied to clipboard

Scaling Modes for Reference Layers: Fit, Fill, and Stretch

Open HeyItsLollie opened this issue 2 years ago • 2 comments

Reference layers currently have one scaling behavior: The image is proportionately scaled so that the image's longest dimension fits the canvas' shortest dimension. This can result in empty space surrounding the image's shorter sides, if the reference layer image's aspect ratio doesn't match the canvas.

This scaling behavior is typically known as Fit. In addition to this behavior, I'd like to suggest two more scale modes — potentially selectable as a property specific to reference layers:

Aseprite_20220617_18-40-34-936

Fill: This complements the Fit option. The image is proportionately scaled so that the image's shortest dimension fits the canvas' largest dimension. This results in the image filling the entire canvas, at the cost of being cropped by the canvas's dimensions.

Stretch: The image is scaled to fill the entire canvas without retaining proportions. This is most useful for documents where the proportions of the image and canvas are "close enough" that any distortion is negligible, or documents that use non-square pixel aspect ratios. (reference layers are affected by a document's pixel aspect ratio, see #3379 )

Custom: Just a non-behavior which lets the user know that they have manually scaled their reference layer. (This is a feature that isn't readily apparent tbh! See #3380)

HeyItsLollie avatar Jun 17 '22 06:06 HeyItsLollie

I think it'll will be a great addition. Thanks @HeyItsLollie.

Gasparoken avatar Jun 22 '22 17:06 Gasparoken

As a side note, I'm moving this (and every new feature) to v1.3 (I think we should freeze v1.2 of new features)

dacap avatar Jun 23 '22 14:06 dacap