缩略图按焦点裁剪时为什么要限制裁剪窗口:七组靠边焦点的缩略图裁剪·实例13

  • 2026-11-03
  • 1

把宽图填满方形或窄框时,可以围绕重要主体裁剪。但焦点靠近原图边缘时,直接把它放在裁剪框中心会让窗口超出图像范围,需要把窗口限制回有效区域。

下面把一个游戏界面或模拟规则拆成可复查的记录。每组输入独立给出,先确认单位、先后次序和边界,再核对结果。它不依赖具体游戏的隐藏参数,读者可以直接挑选几步手工复算。

输入与规则

源图按保持比例且填满目标框的最小比例放大或缩小,然后在源坐标中求裁剪宽高。希望焦点位于裁剪中心;理想左上角等于焦点减半个裁剪尺寸,再分别限制在零到源尺寸减裁剪尺寸之间。

七组焦点裁剪,框表示源坐标中的左、上、右、下,计算阶段不取整。

逐步记录

第1组源640×1000填目标320×320,焦点[0, 0],缩放1/2,理想左上['-320', '-320'],限制后源裁剪框['0', '0', '640', '640'],焦点在框内的相对位置['0', '0']。

第2组源1200×1000填目标240×180,焦点[1200, 1000],缩放1/5,理想左上['600', '550'],限制后源裁剪框['0', '100', '1200', '1000'],焦点在框内的相对位置['1', '1']。

第3组源1200×1000填目标240×320,焦点[164, 36],缩放8/25,理想左上['-211', '-464'],限制后源裁剪框['0', '0', '750', '1000'],焦点在框内的相对位置['82/375', '9/250']。

第4组源1200×1000填目标320×320,焦点[678, 152],缩放8/25,理想左上['178', '-348'],限制后源裁剪框['178', '0', '1178', '1000'],焦点在框内的相对位置['1/2', '19/125']。

第5组源1200×800填目标240×180,焦点[449, 246],缩放9/40,理想左上['-253/3', '-154'],限制后源裁剪框['0', '0', '3200/3', '800'],焦点在框内的相对位置['1347/3200', '123/400']。

第6组源900×800填目标480×320,焦点[668, 202],缩放8/15,理想左上['218', '-98'],限制后源裁剪框['0', '0', '900', '600'],焦点在框内的相对位置['167/225', '101/300']。

第7组源1200×800填目标320×180,焦点[676, 650],缩放4/15,理想左上['76', '625/2'],限制后源裁剪框['0', '125', '1200', '800'],焦点在框内的相对位置['169/300', '7/9']。

左右或上下边缘限制会让焦点偏离中心,这是避免裁剪窗口越界的结果,不是比例计算失败。

复核方法和适用范围

裁剪矩形始终位于源图内部,裁剪宽高乘缩放比例应恰好得到目标尺寸。若理想窗口没越界,焦点居中;若被限制到边缘,记录焦点在最终裁剪内的归一化位置,不能声称仍严格居中。

这条规则只依据一个给定焦点,不会自动理解照片主体,也不保证多个主体同时保留。实际图片取整、朝向元数据和内容识别不在本例内。先说明源坐标和目标尺寸,避免把目标像素当成源图位置。

练习时可以只改动一项输入,预测从哪一步开始出现变化,再逐步比较。空状态、数值零和无法判断要分别记录;不要为了让最后结果一致而忽略中途的偏差。边界与同分约定同样属于规则,复核时应一并保留。