Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PIL和枕头是如何压缩图片的?_Python_Image_Python Imaging Library_Image Compression - Fatal编程技术网

Python PIL和枕头是如何压缩图片的?

Python PIL和枕头是如何压缩图片的?,python,image,python-imaging-library,image-compression,Python,Image,Python Imaging Library,Image Compression,我想用Python3.3编写一个程序,其中一个帧被添加到图片中。 我使用Python中的PIL包来实现这一点。但是我得到的照片不到原作的三分之一大,而且它们失去了一些焦点/锐度/光泽。Python在哪里压缩/更改图片,以及如何(如果可能)抑制它 我能想到一些段落,可能是压缩的 我用PIL加载图像: img=Image.open(元素) 我创建了一个新图片,它是黑色的: newImg=Image.new(“RGB”,(imgWidthNew,imgHightNew),(0,0,0)) 我用我的图片

我想用Python3.3编写一个程序,其中一个帧被添加到图片中。 我使用Python中的PIL包来实现这一点。但是我得到的照片不到原作的三分之一大,而且它们失去了一些焦点/锐度/光泽。Python在哪里压缩/更改图片,以及如何(如果可能)抑制它

我能想到一些段落,可能是压缩的

  • 我用PIL加载图像:

    img=Image.open(元素)

  • 我创建了一个新图片,它是黑色的:

    newImg=Image.new(“RGB”,(imgWidthNew,imgHightNew),(0,0,0))

  • 我用我的图片创建了一个像素贴图,并更改了一些:

    pixels=newImg.load()

  • 我将图片粘贴到黑色图片的中间:

    newImg.paste(Image.open(元素),(半帧宽、半帧高、imgWidth+半帧宽、imgHight+半帧高))

  • 将保存新图像:

    newImg.save(路径,dpi=[300300])

  • 我加载了大部分.jpg图片,但由于一些问题,我提取了.bmp文件

     path = path[:path.rfind(".")] + fileEnding
    
    但这不应该是问题所在,因为在不更改数据类型的情况下,我也有同样的问题。 我的操作系统是Windows7 64位,我使用Pillow 2.3.0和Python 3.3


    谢谢您的帮助。

    保存为JPEG时,您可以设置质量参数来控制压缩量:

    newImg.save(path, 'JPEG', dpi=[300,300], quality=90)
    
    或者,以无损格式保存,如PNG:

    newImg.save(path, 'PNG', dpi=[300,300])
    

    图像是按其原始大小粘贴,还是缩小了?请确保
    路径
    扩展名和格式相互匹配,否则您会遇到一些问题。感谢您的帮助,这肯定是有帮助的。但我也偶然发现了为什么在我放大一点后,无损格式PNG在我的屏幕上看起来很模糊。对于我的屏幕来说,原始文件的大小是完美的,而我编辑的文件则不是。当我放大时,我得到了这张照片的完美格式,它看起来和另一张一样好。谢谢你,我现在想用JPEG。