相关疑难解决方法(0)

使用PIL将RGBA PNG转换为RGB

我正在使用PIL将使用Django上传的透明PNG图像转换为JPG文件.输出看起来很糟糕.

源文件

透明的源文件

Image.open(object.logo.path).save('/tmp/output.jpg', 'JPEG')
Run Code Online (Sandbox Code Playgroud)

要么

Image.open(object.logo.path).convert('RGB').save('/tmp/output.png')
Run Code Online (Sandbox Code Playgroud)

结果

两种方式,生成的图像如下所示:

结果文件

有没有办法来解决这个问题?我想要有透明背景的白色背景.


感谢很棒的答案,我想出了以下函数集合:

import Image
import numpy as np


def alpha_to_color(image, color=(255, 255, 255)):
    """Set all fully transparent pixels of an RGBA image to the specified color.
    This is a very simple solution that might leave over some ugly edges, due
    to semi-transparent areas. You should use alpha_composite_with color instead.

    Source: http://stackoverflow.com/a/9166671/284318

    Keyword Arguments:
    image -- PIL RGBA Image object
    color -- Tuple r, g, b (default 255, 255, 255)

    """ …
Run Code Online (Sandbox Code Playgroud)

python png jpeg python-imaging-library rgba

85
推荐指数
3
解决办法
10万
查看次数

从图像列表中创建PDF

有没有实用的方法可以使用Python从图像文件列表中创建PDF?

在Perl我知道那个模块.有了它,我可以只用3行创建一个PDF:

use PDF::FromImage;
...
my $pdf = PDF::FromImage->new;
$pdf->load_images(@allPagesDir);
$pdf->write_file($bookName . '.pdf');
Run Code Online (Sandbox Code Playgroud)

我需要做一些与此类似的事情,但是在Python中.我知道pyPdf模块,但我想要一些简单的东西.

@编辑

如果您通过Google访问,请输入以下代码:

from fpdf import FPDF
from PIL import Image
def makePdf(pdfFileName, listPages, dir = ''):
    if (dir):
        dir += "/"

    cover = Image.open(dir + str(listPages[0]) + ".jpg")
    width, height = cover.size

    pdf = FPDF(unit = "pt", format = [width, height])

    for page in listPages:
        pdf.add_page()
        pdf.image(dir + str(page) + ".jpg", 0, 0)

    pdf.output(dir + pdfFileName + ".pdf", "F")
Run Code Online (Sandbox Code Playgroud)

python pdf

52
推荐指数
6
解决办法
6万
查看次数

PIL中"P"和"L"模式的图像有什么区别?

根据https://pillow.readthedocs.io/en/3.1.x/handbook/concepts.html#concept-modes,

  1. 他们之间有什么区别?
  2. 我们可以从一个转换到另一个吗?
  3. 这两种模式的图像示例是什么?

python python-imaging-library

11
推荐指数
3
解决办法
7269
查看次数

标签 统计

python ×3

python-imaging-library ×2

jpeg ×1

pdf ×1

png ×1

rgba ×1