python - 将解码后的 jpeg 绘制到开罗表面

标签 python jpeg decode cairo

我正在尝试将解码后的 jpeg 绘制到 Cairo 表面... 但是我有点卡住了,我不知道如何从

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 绘制到开罗表面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13455256/

相关文章:

javascript - 使用php从文件夹获取图像并使用javascript将其添加到html

javascript - 如何解码javascript的编码字符串

c# - 在 C# 中解码条形码图像

python - 如何从 django 模板在 html 页面上打印漂亮的 JSON?

python - 如何使用 python 脚本获取谷歌搜索结果提要而不被识别为机器人?

python - 在python中更改json文件中的值

Java JPEG DCT系数在我修改后自行改变

JAVA写入灰度JPEG图像(依赖JDK版本?)

video - AV帧数据格式

python - 如何在 PyGTK 中设置默认按钮?