问题:
这个挑战来自我遇到的一个实际问题。我正在使用双显示器设置,我想使用以下图像作为墙纸:
但是,我的显示器有很大的边框,当我设置背景时,它看起来像这样,在码头上出现(更平?)被打破了:
我可以通过以下方式解决此问题:将中心切出,然后将其拉伸回原始大小,如下图所示:
挑战:
编写一个程序,以获取图像并“监视”它以用于双显示器设置(即删除图像的中央部分,即边框所在的位置)。规则如下:
- 它必须是一个完整的程序,它可以以路径(字符串参数等)或文件选择器对话框的形式接受图像。
- 程序必须以垂直线的数量(宽度为一个像素)为输入,以从图像中心切出
- 裁切必须来自原始图像的中心(横向)
- 结果图像必须重新缩放为输入图像的原始大小。(可以分别对这两个半部分进行缩放,然后进行级联,或者对这些半级进行合并,然后进行缩放。单独进行缩放可以产生更好的图像/效果,但是在现实世界中很难注意到)
- 背景图像通常是偶数的,因此,为了使此挑战更容易,输入图像将仅具有偶数个像素,并且要删除的行数也将仅是偶数。
- 这项挑战就是代码高尔夫-以字节为单位的最短代码获胜
祝好运!
2
1.从图片中不清楚操作是什么,因为它们被缩放到相同的宽度。也许用与中间尺寸相同并用白色填充的图像替换第一个和最后一个?2.我们可以使用任何形式的缩放(线性可能是最便宜的)还是必须是特定的缩放(例如立方,正弦等)?
—
彼得·泰勒
@PeterTaylor根据规则3,假定输入和输出图像的宽度相同。将每一半调整为原始宽度的一半,然后合并,或者将裁切后的两半合并,然后缩放回原始大小。是的,任何缩放都可以。
—
dberm22年
以“也许”开头的句子是关于如何使问题更容易理解的建议,而不是对挑战的建议解释。我自己做了改变。
—
彼得·泰勒
@PeterTaylor Ahh,我明白了,这更清楚了。谢谢。
—
dberm22年
我们可以假设图像是横向的吗?
—
Scott Milner