编程语言
首页 > 编程语言> > python – 将解码的jpeg绘制到cairo表面

python – 将解码的jpeg绘制到cairo表面

作者:互联网

我正在尝试将解码的jpeg绘制到开罗表面……
但是我有点卡住了,我不知道如何向前推进

import cairo
import Image

path_to_jpeg = "/home/seif/Pictures/prw.jpg"
surface = cairo.PDFSurface ("out.pdf", 1000, 1000)
ctx = cairo.Context (surface)

image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 1000, 1000)
dt = Image.open(path_to_jpeg)
dimage = dt.load()

任何帮助将非常感谢…

解决方法:

这应该可以解决问题.您必须首先将图像转换为png,它似乎是您可以使用的唯一格式.这就是下面代码的一大部分.我建议你看一下this question,它帮助我创建了下面的代码.

import Image, StringIO
from cairo import PDFSurface, Context, ImageSurface

pdf = PDFSurface("out.pdf", 1000, 1000)
cr = Context(pdf)
im = Image.open("/home/seif/Pictures/prw.jpg")
buffer = StringIO.StringIO()
im.save(buffer, format="PNG")
buffer.seek(0)
cr.save()
cr.set_source_surface(ImageSurface.create_from_png(buffer))
cr.paint()

标签:python,jpeg,decode,cairo
来源: https://codeday.me/bug/20190625/1287354.html