这个问题吾以前专门研究过,并写过代码处理。这个问题看起来简单,实际上也有点复杂。

  准备工作:


  • 把支持的分辨率由低到高进行排序。
  • 分辨率横竖问题。保证宽不小于高。
  • 越界问题。超过最大、最小,选用最高、最低。

  过滤后,现在进入选择分辨率的过程了。选择哪个分辨率,也要看优先级:

  • 大小优先。这听起来理所当然。看看几种情形:

宽度相同,高度相同。

宽度相同,高度不同。

宽度不同,高度相同。

宽度不同,高度不同。

  除了第一种,后3种情况,选择哪个?

  • 比例优先。如果比例合适,分辨率相差太大,怎么办?