调整大小以适合屏幕后找到图像的左上角
Find upper left of image after resizing to fit screen
我有个问题一直没弄清楚-
假设我有一张任意尺寸的图像。我调整它的大小,使其适合 1024x768,同时保持纵横比。我把它放在屏幕中央。这样做之后,我怎样才能找到左上角的终点呢?
因此,如果图片的宽度大于高度,我们最终会得到类似
绿色矩形的起始尺寸不同。它被调整大小以适应粉红色的矩形。我想找到绿色矩形的左上角。
我写了一堆笔记,画了一堆图表,但我得到的答案都是错误的。有人可以解释如何做到这一点吗?我正在使用 python 2.7
设 w
、h
为图片的大小。
为了适应 1024 的宽度,我们必须按以下比例缩放图像:
>>> r=1024./w
但是,如果图片比较高,按r
缩放后,它的高度将不适合屏幕,所以在这种情况下缩放系数为:
>>> if h*r > 768: r=768./h
缩放后的图片左上角坐标为:
>>> (1024-w*r)*0.5,(768-h*r)*0.5
编辑:
计算左上角点的便捷函数(也适用于 Python 2.x):
def topLeft(w,h,screenw=1024,screenh=768):
r=float(screenw)/float(w)
if h*r > screenh: r=float(screenh)/float(h)
return (screenw-w*r)*0.5,(screenh-h*r)*0.5
我有个问题一直没弄清楚-
假设我有一张任意尺寸的图像。我调整它的大小,使其适合 1024x768,同时保持纵横比。我把它放在屏幕中央。这样做之后,我怎样才能找到左上角的终点呢?
因此,如果图片的宽度大于高度,我们最终会得到类似
绿色矩形的起始尺寸不同。它被调整大小以适应粉红色的矩形。我想找到绿色矩形的左上角。
我写了一堆笔记,画了一堆图表,但我得到的答案都是错误的。有人可以解释如何做到这一点吗?我正在使用 python 2.7
设 w
、h
为图片的大小。
为了适应 1024 的宽度,我们必须按以下比例缩放图像:
>>> r=1024./w
但是,如果图片比较高,按r
缩放后,它的高度将不适合屏幕,所以在这种情况下缩放系数为:
>>> if h*r > 768: r=768./h
缩放后的图片左上角坐标为:
>>> (1024-w*r)*0.5,(768-h*r)*0.5
编辑:
计算左上角点的便捷函数(也适用于 Python 2.x):
def topLeft(w,h,screenw=1024,screenh=768):
r=float(screenw)/float(w)
if h*r > screenh: r=float(screenh)/float(h)
return (screenw-w*r)*0.5,(screenh-h*r)*0.5