【发布时间】:2021-07-01 09:31:54
【问题描述】:
我正在创建一个合并两个未存储在本地的图像的程序,这第三个图像,合并的一个,是一个 PIL 图像,我需要检查图像文件大小,如果它超过一定大小,我需要压缩它。
这是我的代码:
def concat_image_auto(image1,image2,size_image):
if size[0]>size[1]:
## vertical
dst = Image.new('RGB', (size_image[0], image1.height + image2.height))
dst.paste(image1, (0, 0))
dst.paste(image2, (0, image1.height))
else:
## horizontal
dst = Image.new('RGB', (image1.width + image2.width, size_image[1]))
dst.paste(image1, (0, 0))
dst.paste(image2, (image1.width, 0))
return dst
image1 = Image.open('my_first_image.jpg')
image2 = Image.open('my_second_image.jpg')
max_w = max(image1.size[0],image2.size[0])
max_h = max(image1.size[1],image2.size[1])
size = (max_w,max_h)
image1 = image1.resize(size)
image2 = image2.resize(size)
#Merging
file_merged = concat_image_auto(image1,image2,size)
#Check filesize and compress if needed
我该怎么做? (我无法将图像保存在内存中)
【问题讨论】:
-
@StrangeSorcerer 我认为 OP 指的是图像的字节大小,而不是它的 (width,height)
-
哦,对了,对不起。在这种情况下,ady 对这个类似问题的回答是否有帮助? stackoverflow.com/questions/11904083/…
-
我不需要 W 和 H 值,但文件大小以 Kb 或 Mb 为单位。
标签: python python-3.x