gpt4 book ai didi

python - 在 Python,Python Image Library 1.1.6 中,如何在不调整大小的情况下扩展 Canvas ?

转载 作者:IT老高 更新时间:2023-10-28 20:25:31 25 4
gpt4 key购买 nike

我可能在手册中寻找错误的内容,但我希望获取一个图像对象并扩展它而不调整(拉伸(stretch)/挤压)原始图像的大小。

玩具示例:想象一个 200 x 100 的蓝色矩形,然后我执行一些操作,得到一个 400 x 300 的新图像对象,它由一个白色背景组成,一个 200 x 100 的蓝色矩形位于其上。如果我可以控制它的扩展方向,或者新的背景颜色等,则奖励。

基本上,我有一个图像,我将对其进行迭代添加,但一开始我不知道它的大小。

我想我可以捕获原始对象,制作一个稍大的新对象,将原始对象粘贴到那里,再画一点,然后重复。看起来它可能在计算上很昂贵。但是,我认为会有一个功能,因为我认为这是一个常见的操作。也许我猜错了。

最佳答案

ImageOps.expand 函数将扩展图像,但它在每个方向上添加相同数量的像素。

最好的方法是简单地制作一个新图像并粘贴:

newImage = Image.new(mode, (newWidth,newHeight))
newImage.paste(srcImage, (x1,y1,x1+oldWidth,y1+oldHeight))

如果性能有问题,请将原始图像设置得比需要的大,并在绘制完成后对其进行裁剪。

关于python - 在 Python,Python Image Library 1.1.6 中,如何在不调整大小的情况下扩展 Canvas ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1572691/

25 4 0
文章推荐: java - 你如何声明 x 和 y 以便 x+=y 给出编译错误而 x=x+y 没有?
文章推荐: python - 具有自定义比较谓词的 heapq
文章推荐: java - 哪个 list 实现对于一次写入、读取和销毁来说是最快的?