这个问题吾以前专门研究过,并写过代码处理。这个问题看起来简单,实际上也有点复杂。
准备工作:
- 把支持的分辨率由低到高进行排序。
- 分辨率横竖问题。保证宽不小于高。
- 越界问题。超过最大、最小,选用最高、最低。
过滤后,现在进入选择分辨率的过程了。选择哪个分辨率,也要看优先级:
- 大小优先。这听起来理所当然。看看几种情形:
宽度相同,高度相同。
宽度相同,高度不同。
宽度不同,高度相同。
宽度不同,高度不同。
除了第一种,后3种情况,选择哪个?
- 比例优先。如果比例合适,分辨率相差太大,怎么办?