- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的代码:
import cairoimport osfrom PIL import Imageimagesize = (512,128)surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, *imagesize)cr = cairo.Context(surface)cr.select_font_face("Verdana", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL)cr.set_font_size(24)cr.set_source_rgb(1, 1, 1)...surface.write_to_png("MyImage.png")
如您所见,我正在为此 PNG 绘制一些白色文本,但背景默认为不透明的黑色。如何使 png 透明以便仅显示白色文本?
最佳答案
我能够使用 set_source_rgba() 并使用 0.0 作为 alpha 值来设置透明背景:
cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) # transparent black
cr.rectangle(0, 0, 512, 128)
cr.fill()
# set writing color to white
cr.set_source_rgb(1, 1, 1)
# write text
cr.move_to(100,50)
cr.show_text("hello")
# commit to surface
cr.stroke()
import os
from PIL import Image
imagesize = (512,128)
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, *imagesize)
cr = cairo.Context(surface)
# paint background
cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) # transparent black
cr.rectangle(0, 0, 512, 128)
cr.fill()
# setup font
cr.select_font_face("Verdana", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL)
cr.set_font_size(24)
cr.set_source_rgb(1, 1, 1)
# write with font
cr.move_to(100,50)
cr.show_text("hello")
# commit to surface
cr.stroke()
# save file
surface.write_to_png("MyImage.png")
关于image - 如何使用 Pycairo 输出透明 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8955006/
我正在努力在矩形 png 背景上画一个圆圈。每当我尝试画一个圆时,它都会根据我的图像比例进行拉伸(stretch)——使其成为椭圆而不是圆。 设置如下: #set background image s
我需要画一条有向线或箭头。 context.move_to (10,10)context.line_to(10,100) 这提供了一条无向线,但我需要一个箭头。我如何在 pycairo 中完成此操作?
基于问题Create PDF with (resized) PNG images using Pycairo - rescaling Surface issue我试图创建重新缩放图像并将图像放置在特定
我正在使用 Pango + Cairo(通过 GObject)用 python3.7 渲染文本,并且想通过创建一个属性并将该属性附加到我的 pango 布局来设置字母间距。 在 pango 的 gno
我正在使用 curve_to 与 pycairo 进行绘图,代码如下: ctx.move_to(0.4,0.8) ctx.curve_to(0.3,0.4 ,0.4,0.4 ,0.4,0.4) ctx
我知道可以将 PyCairo 表面放置在 Gtk 绘图区域内。但我认为 Qt 更好用,所以我一直想知道是否有办法将 PyCairo 表面放置在某些 Qt 组件中? 最佳答案 众所周知,Qt 自己的基于
我正在学习使用Pycairo到目前为止我做得很好,我可以绘制直线/贝塞尔曲线,很快,数学曲线,我试图将点表示为一条非常小的线,但它不起作用 我也尝试过 context.move_to(5,5) con
我不想用pyCairo填充多边形,但我希望某些区域不填充。例如,我想制作这样的东西: 灰色背景是 SVG 查看器的背景,因此代表图像的透明部分。 我尝试使用此代码: import cairo cair
我无法理解如何使用 pyCairo 简单地旋转图像... 这是我根据 this example 所做的: image_surface = cairo.ImageSurface.create_from_
社区。 我知道这里有很多答案、手册、教程和 Internet 上的引用资料,还有关于这个问题的更多信息。我也知道需要线性代数知识。但是,当我想到有时间弄清楚所有理论并在实践中解决练习时 - 我的头都炸
我希望能够使用 Cairo 在 Python 中直接绘制到根窗口。我已经在全屏窗口上测试了我的代码绘图,所以我知道这不是问题所在。但是,当我尝试像这样直接绘制到根窗口时: root = gtk.gdk
所以我有venv,我想使用还没有安装的pycairo模块 (venv) command$ python -m pip install pycairo Collecting pycairo Usin
这是我的代码: import cairoimport osfrom PIL import Imageimagesize = (512,128)surface = cairo.ImageSurface(
这是我的代码: import cairoimport osfrom PIL import Imageimagesize = (512,128)surface = cairo.ImageSurface(
我正在尝试安装 sdaps,但是当我运行 setup.py install 命令时,出现以下错误: kashif@crunchbang:~/sdaps-1.0.5$ python setup.py i
我正在创建一个使用 Cairo 在图像上显示文本等的应用程序。 有没有一种方法可以在不修改高度的情况下更改文本宽度?我已经可以根据宽度缩放字体大小。 一种管理方式tracking & kearning
当我在 osx 上使用 easy_install 安装 pycairo 时,出现以下错误消息: Searching for pycairo Reading http://pypi.python.org
我看到这里有一个关于类似问题的老问题: How do you install PyCairo (Cairo for Python) on Windows? 因为它是 2012 年的,我想它已经过时了。
我需要 pyCairo 做的是: 生成一个大小为 100x100 的图像,其中包含一些文本和来自文件系统的图像作为背景 文本应位于文本环绕大小为 20x20 且左下角位于 (40,40) 的框中。 保
我正在尝试安装 pycairo (cairo graphics library 的 Python 绑定(bind))在 OSX 下。 我开始了 easy_install pycairo 得到: Req
我是一名优秀的程序员,十分优秀!