cairo

django OSError: no library called “cairo” was found on windows

流过昼夜 提交于 2020-08-05 05:27:30
问题 When I run the Django server, I see this problem !! OSError: no library called "cairo" was found no library called "libcairo-2" was found cannot load library 'libcairo.so': error 0x7e cannot load library 'libcairo.2.dylib': error 0x cannot load library 'libcairo-2.dll': error 0x7e 回答1: WeasyPrint needs the Pango, cairo and GDK-PixBuf libraries. They are part of GTK+ (formerly known as GIMP Toolkit), and must be installed separately. After installing GTK+ libraries, do : python -m weasyprint

矢量图形开源编辑软件-sK1

六月ゝ 毕业季﹏ 提交于 2020-07-27 09:07:53
sK1是一款开源跨平台的矢量图形编辑器,基于Python编写,遵守GPL开源协议,类似软件功能如CorelDRAW、Adobe Illustrator、Freehand 等,主要针对印前行业。包括 CMYK 色彩空间支持、PostScript 的 CMYK 支持,导出基于CMYK 的PDF、基于 Cairo 的引擎、色彩管理、通用的 CDR 导入器、以及基于 Ttk 的现代用户界面等特性。 GitHub 仓库挂件 WordPress 插件 sk1project / sk1-wx sK1 2.0 cross-platform vector graphics editor https://sk1project.net 121 23 Download ZIP 相关文件下载地址 本地直接下载 来源: oschina 链接: https://my.oschina.net/u/4279029/blog/4280449

How to set font from file in Pango and Mono

你说的曾经没有我的故事 提交于 2020-06-16 03:03:13
问题 I have simple application that prints text and determines its size in pixels. static void Main(string[] args) { Application.Init(); var screen = Screen.Default; var layout = new Pango.Layout(PangoHelper.ContextGetForScreen(screen)); layout.FontDescription = new FontDescription(); layout.FontDescription.Family = "Times New Roman"; layout.FontDescription.Size = Units.FromPixels(18); layout.SetText("My Text"); int width; int height; layout.GetPixelSize(out width, out height); Console.WriteLine("

Drawing lines with GTK+ and Cairo without removing what is already drawn

╄→гoц情女王★ 提交于 2020-05-31 06:54:40
问题 Currently I am writing a program in C, on a linux system (Raspberry Pi to be exact) which should draw to a GTK window using Cairo. I've been following the tutorial at: http://zetcode.com/gfx/cairo/ . But it is way to vague with it's explanations at certain points. It does not explain two points that I really need: I can't figure out a way to draw to the window with a proper function call. It removes what is already drawn. I need a piece of code that does some simple things, in a very Object

[翻译]PyCairo指南--文本

穿精又带淫゛_ 提交于 2020-05-08 03:54:07
PyCairo中的文本 PyCairo指南的这个部分,我们将与文本打交道。 灵魂伴侣 在第一个例子中,我们将在窗口中显示一些歌词。 def on_draw(self, wdith, cr): cr.set_source_rgb(0.1, 0.1, 0.1) cr.select_font_face("Purisa", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL) cr.set_font_size(13) cr.move_to(20, 30) cr.show_text("Most relationships seem so transitory") cr.move_to(20, 60) cr.show_text("They're all good but not the permanent one") cr.move_to(20, 120) cr.show_text("Who doesn't long for someone to hold") cr.move_to(20, 150) cr.show_text("Who knows how to love without being told") cr.move_to(20, 180) cr.show_text("Somebody tell me why I'm on my own

[翻译]PyCairo指南--裁剪和masking

浪尽此生 提交于 2020-05-08 03:53:55
裁剪和masking 在PyCairo指南的这个部分,我么将讨论裁剪和masking操作。 裁剪 裁剪 就是将图形的绘制限定在一定的区域内。这样做有一些效率的因素,同时也可以创建一些非常有趣的效果。PyCairo有一个 clip() 方法来设置裁剪区域。 #!/usr/bin/python ''' ZetCode PyCairo tutorial This program shows how to perform clipping in PyCairo author: Jan Bodnar website: zetcode.com last edited: August 2012 ''' import cairo import gtk import math import glib import random class MainWindow(gtk.Window): def __init__(self): super(self.__class__, self).__init__() self.init_ui() self.load_image() self.init_vars() def init_ui(self): self.darea = gtk.DrawingArea() self.darea.connect("expose_event", self.expose)

[翻译]PyCairo指南--形状和填充

ⅰ亾dé卋堺 提交于 2020-05-08 03:53:36
PyCairo中的形状和填充 PyCairo指南的这个部分,我们将创建一些基本的和更高级的形状。我们将使用单一颜色,patterns和渐变来填充他们。渐变将在另一章中讨论。 基本形状 PyCairo有一些基本的方法可以用来画简单的形状。 def on_draw(self, wid, cr): cr.set_source_rgb(0.6, 0.6, 0.6) cr.rectangle(20, 20, 120, 80) cr.rectangle(180, 20, 80, 80) cr.fill() cr.arc(330, 60, 40, 0, 2 * math.pi) cr.fill() cr.arc(90, 160, 40,math.pi/4, math.pi) cr.fill() cr.translate(220, 180) cr.scale(1, 0.7) cr.arc(0, 0, 50, 0, 2 * math.pi) cr.fill() 在这个例子中,我们将创建一个矩形,一个方形,一个圆形,一个弧形,和一个椭圆形。 cr.rectangle(20, 20, 120, 80) cr.rectangle(180, 20, 80, 80) rectangle()方法用于创建方形和矩形。一个方形就仅仅是一个特殊的矩形。 cr.arc(330, 60, 40, 0, 2 * math

[翻译]PyCairo指南--图片

 ̄綄美尐妖づ 提交于 2020-05-08 03:53:18
PyCairo中的图片 PyCairo指南的这个部分,我们将讨论图片。我们将演示如何在GTK窗口中显示一幅PNG或JPEG图片。我们也将在图片上画一些文字。 显示一幅PNG图片 第一个例子中,我们将显示一幅PNG图片。 #!/usr/bin/python ''' ZetCode PyCairo tutorial This program shows how to draw an image on a GTK window in PyCairo. author: Jan Bodnar website: zetcode.com last edited: August 2012 ''' import gtk import cairo class MainWindow(gtk.Window): def __init__(self): super(self.__class__, self).__init__() self.init_ui() self.load_image() def init_ui(self): self.darea = gtk.DrawingArea() self.darea.connect("expose_event", self.expose) self.add(self.darea) self.set_title("Image") self.resize(300,

[翻译]PyCairo指南--渐变

喜你入骨 提交于 2020-05-08 03:52:58
PyCairo渐变 PyCairo指南的这个部分,我们将讨论渐变。我们将提到线性的和径向的渐变。 在计算机图形学中,渐变是深浅的平滑的调配,由亮到暗,或者由一种颜色到另一种颜色。在2D制图程序和绘画程序中,渐变被用于创建五彩缤纷的背景和特殊的效果,也用于模拟灯光和阴影。 线性渐变 线性渐变是颜色的调配(两种不同的颜色)或颜色的深浅(一种颜色,R,G,B各色彩成分占比相同,但亮度不一样)变化都沿着一条直线。在PyCairo中,它们由一个 cairo.LinearGradient 来表示。 #!/usr/bin/python ''' ZetCode PyCairo tutorial This program works with linear gradients in PyCairo author: Jan Bodnar website: zetcode.com last edited: August 2012 ''' import cairo import gtk class MainWindow(gtk.Window): def __init__(self): super(self.__class__, self).__init__() self.init_ui() def init_ui(self): darea = gtk.DrawingArea() darea.connect

[翻译]PyCairo指南--透明度

一个人想着一个人 提交于 2020-05-08 03:33:25
透明度 在这份PyCairo指南的这个部分,我们将讨论透明度。我们将提供一些基本的定义和三个有趣的透明度的例子。 透明度是指透过一种材料能够看到事物的品质。理解透明度最简单的方法就是想象一块玻璃或这水。技术上来说,光线可以穿透玻璃,从而我们可以看到玻璃后面的物体。 在计算机图形学中,我们可以用alpha通道来实现透明度效果。 Alpha通道 就是一个组合一幅图片和一个背景来创建部分透明的外观的过程。组合过程使用一个 alpha通道 。在图像文件格式中,alpha通道是一个8-bit的layer,它被用于表达半透明(透明度)。每像素额外的8 bits被用作一个mask和代表256级的半透明度。 透明的矩形 在第一个例子中,我们将绘制10个具有不同的半透明度的矩形。 def on_draw(self, wdith, cr): for i in range(1, 11): cr.set_source_rgba(0, 0, 1, i * 0.1) cr.rectangle(50 * i, 20, 40, 40) cr.fill() set_source_rgba() 方法有一个alpha参数来提供透明度。 for i in range(1, 11): cr.set_source_rgba(0, 0, 1, i * 0.1) cr.rectangle(50 * i, 20, 40, 40)