考虑到以下可能的屏幕尺寸:
720x480
1280x720
1920x1080
3840×2160
一系列类似于以下的图像尺寸(可能会有所不同,最大尺寸可以达到可用内存的限制):
Square 75 75
Large Square 150 150
Thumbnail 100 75
Small 240 180
Small 320 320 240
Medium 500 375
Medium 640 640 480
Medium 800 800 600
Large 1024 768
Large 1600 1600 1200
Large 2048 2048 1536
Original 3264 2448
并且某些图片可能无法在" Original"尺寸可能不大1024x768
我需要为当前屏幕尺寸选择最佳图像。
我不确定如何处理这个问题。语言将是Brightscript,但我真的在寻找一种选择算法,或者至少是一些关于如何编写选择算法的建议。
答案 0 :(得分:0)
我需要为当前屏幕尺寸选择最佳图像
这取决于最好的"最好的"。人们可以尝试优化宽度,其他人可以尝试优化高度,或者同时尝试两者(这将尝试最小化剩余区域)。让我们优化剩余区域。这是一个伪代码:
given screen s0
initialize best_image := None
best_remaining_area := INF
for image in image_list:
if s0.height < image.height or s0.width < image.width:
continue
remaining_area = s0.height * s0.width - image.height * image.width
if remaining_area < best_remaining_area:
best_remaining_area = remaining_area
best_image = image
return best_image