giejay / Immich-Android-TV

An Android TV app for the self hosted photos and videos backup solution.
GNU General Public License v3.0
146 stars 5 forks source link

[FR] Automatic scaling and cropping of images #21

Open LesKent opened 2 months ago

LesKent commented 2 months ago

Is your feature request related to a problem? I love the screensaver you built but I have on Immich a large collection of Internet acquired content with many dimensions and orientations. On images that are close to the native resolution and aspect ratio of the TV, it would be more visually appealing to perform some minor scaling and/or cropping of the images so they will fit exactly without any black bars on the sides or top/bottom.

Describe the solution you'd like? I think it would be great to have an option of a configurable percentage of empty screen space that would automatically be scaled to TV aspect ratio. Say for example you set it to10%. If the empty space is above that threshold then no scaling would take place. The next option would be for cropping with a similar configurable percentage that would be the maximum that can be cropped off either the top/bottom or left/right depending on where it is needed to fit the TV.

It would be wonderful if these features could both be used together with scaling up to x% and cropping after the scaling to y%. This would allow someone that does not like any change in aspect ratio to set it to 0% (or a checkmark) and then only cropping could be utilized. For others that don't ever want cropping they could set that percentage to 0% (or a checkmark) and only scaling could be utilized as a strategy. A little stretching and a little cropping would get you the most images utilizing the full screen.

As a real bonus utilizing some type of "smart" cropping technique such as https://github.com/jwagner/smartcrop.js that would allow a higher percentage of cropping with better results.

Additional context Such features I've described would not effect display of any portrait oriented images on a TV as they would beyond the percentages