我在这里遵循pycairo安装说明:http: //www.cs.rhul.ac.uk/home/tamas/development/igraph/tutorial/install.html 安装pycairo以便与igraph一起使用.
但是,即使在运行安装程序并根据说明将所有DLL解压缩/复制到site-packages cairo目录之后,我仍然会收到以下错误:
>>> import cairo
Traceback (most recent call last):
File "", line 1, in
File "c:\Python26\lib\site-packages\cairo__init__.py", line 1, in
from _cairo import *
ImportError: DLL load failed: The specified module could not be found.
>>>
我在Windows 7下运行python 2.6.6.
有任何想法吗?
我正在尝试构建openuds并且出现错误no module name cairo,我浏览了一下,发现安装pycairo可以解决它。1) 如何修复此安装错误?
python manage.py createcachetable
Traceback (most recent call last):
File "manage.py", line 9, in <module>
execute_from_command_line(sys.argv)
File "/home/hari/openuds/testuds-master/Python-2.7.14/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/home/hari/openuds/testuds-master/Python-2.7.14/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 327, in execute
django.setup()
File "/home/hari/openuds/testuds-master/Python-2.7.14/env/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/hari/openuds/testuds-master/Python-2.7.14/env/lib/python2.7/site-packages/django/apps/registry.py", line 115, in populate
app_config.ready()
File "/home/hari/openuds/testuds-master/server/src/uds/__init__.py", line 78, in ready
from . import REST # To make sure REST initializes all what it needs
File "/home/hari/openuds/testuds-master/server/src/uds/REST/__init__.py", line 210, in <module> …Run Code Online (Sandbox Code Playgroud) 似乎pycairo在5月份分为2.x版本的py2cairo.py2cairo没有pip或easy_install安装选项.我抓住了最新的py2cairo tar,以及注册为依赖项的cairo 1.8.10软件包.当我尝试首先配置cairo时,它最终会出错,它需要pkg-config.但是,我也找不到pip或easy_install中的pkg-config安装选项.我完全失去了如何安装py2cairo.我在Mac Snow Leopard上这样做.
社区.
我知道这里有很多答案,手册,教程和互联网上的参考资料,并且更多关于这个问题.我也知道线性代数的知识是必需的.但是,当我想到时间去理解所有的理论并在实践中解决练习时 - 我的头脑正在吹走,我不能做最简单的事情:(
如果你知道一个快速的解决方案,如何在渲染之前将文本旋转到其中心,请告诉我,pleeease.
现在我有:
#...
cr.move_to(*text_center)
myX, myY = text_center[0] - (width / 2), text_center[1] + (height / 2)
cr.save()
cr.translate(myX, myY)
cr.rotate(radians(text_angle))
cr.show_text(letter)
cr.restore()
#...
Run Code Online (Sandbox Code Playgroud)
但是我的信并没有绕着自己转动.这就像倒在右边:(我知道我的代码不对.也许我想念转型,但我不知道怎么做对.
更新:不幸的是,文本不受翻译的影响,所以
cr.translate(10000, 10000)
cr.rotate(radians(15))
cr.show_text("hello")
Run Code Online (Sandbox Code Playgroud)
将完全相同
cr.rotate(radians(15))
cr.show_text("hello")
Run Code Online (Sandbox Code Playgroud)
而且我不知道如何在没有新表面或其他东西(如图形处理器中的新图层)的情况下在其中心上进行文本旋转:(
我似乎无法使用gintrospection让cairo区域在内部工作.
例如
from gi.repository import cairo
reg = cairo.Region()
Run Code Online (Sandbox Code Playgroud)
会给我的
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
Run Code Online (Sandbox Code Playgroud)
并试图从Gdk.get_clip_region()获得一个区域将给我
return info.invoke(*args)
TypeError: Couldn't find conversion for foreign struct 'cairo.Region'
Run Code Online (Sandbox Code Playgroud)
我错过了什么明显的事情?我无法找到一种方法来使用它,并且无法想象你需要的区域看起来像一个简单的结构.我不知道为什么gdk找不到cairo类型,并且我不知道我是否应该以某种方式显示它.
我目前正在开发一个应用程序,它使用视频投影仪来创建类似于真实激光的效果。什么我试图存档一个非常好的例子可以在YouTube上看到这里。
基本上,该应用程序需要绘制各种颜色的简单移动形状。我有一个使用 pycairo 的非常复杂的设置,允许基元通过一组修改器来改变位置、缩放和旋转。这提供了很大的灵活性。
不幸的是,pycairo 在绘制虚线圆圈方面似乎很慢。我试着像这样画 30 个圆圈:
# setup, transforms...
# Example color-scheme:
self._colors = [(0.0, 1.0, 0.0)]
# drawing dashes one after another
for count, color in enumerate(self._colors):
cr.set_dash(dash_len, self._dash_len * count)
cr.set_source_rgb(color[0], color[1], color[2])
cr.arc(0, 0, self.radius(), 0, 2 * math.pi)
cr.stroke()
Run Code Online (Sandbox Code Playgroud)
整个事情看起来像这样。使用 Core2Duo 无法在 800x600 分辨率下维持 25fps。
有没有更快的方法来画圆圈?质量真的不是问题。
谢谢你的帮助!
我有 JPG 图像和 inputvgdraw,这是一个用于图像注释的 flash 工具(http://www.mainada.net/inputdraw),我可以在其上跟踪生成 svg 数据的线条。
svg 数据示例:
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 488 325"><g fill="none" stroke-miterlimit="6" stroke-linecap="round" stroke-linejoin="round"><path d="M 307 97 l 0 -1 l -2 -1 l -10 -2 l -20 -1 l -25 5 l -22 9 l -10 9 l 0 9 l 2 12 l 16 18 l 25 11 l 25 5 l 17 -1 l 6 -4 l 3 -7 l -1 -12 l -6 -16 l -7 -13 …Run Code Online (Sandbox Code Playgroud) 试图让这段代码工作:
import cairosvg
import os
path = "D:/PyProjects/Bla/Temp"
os.chdir(path)
cairosvg.svg2pdf(url='Pic.svg', write_to='image.pdf')
Run Code Online (Sandbox Code Playgroud)
但是遇到类似于这篇文章的错误:
Traceback (most recent call last):
File "D:/work/lean_python/pdf/other.py", line 2, in <module>
import cairosvg
File "D:\env_python352\lib\site-packages\cairosvg\__init__.py", line 29, in <module>
from . import surface
File "D:\env_python352\lib\site-packages\cairosvg\surface.py", line 24, in <module>
import cairocffi as cairo
File "D:\env_python352\lib\site-packages\cairocffi\__init__.py", line 46, in <module>
cairo = dlopen(ffi, 'cairo', 'cairo-2')
File "D:\env_python352\lib\site-packages\cairocffi\__init__.py", line 43, in dlopen
raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names))
OSError: dlopen() failed to …Run Code Online (Sandbox Code Playgroud) 我一直在尝试在 mac os x 上安装 pycairo。我收到一条错误消息,
最初我得到了'pkg-config' not found。通过brew安装后,我得到了Package cairo was not found in the pkg-config search path。原则上我可以尝试编辑搜索路径,但由于这是通过 pip 进行的,所以我希望这一切都能得到解决。有没有办法告诉 pip 将内容放在 pkg-config 知道要查找的地方?
这是完整的消息。
> pip install pycairo
Collecting pycairo
Using cached https://files.pythonhosted.org/packages/48/20/5e83af98eb897935bf7dc39455e892ba866feebb9b7c3b392982866f9958/pycairo-1.18.1.tar.gz
Building wheels for collected packages: pycairo
Building wheel for pycairo (setup.py) ... error
ERROR: Complete output from command /Applications/anaconda/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/f2/bzrj46j11gzdk19j91tp1sq80000gq/T/pip-install-lahb8lq4/pycairo/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/f2/bzrj46j11gzdk19j91tp1sq80000gq/T/pip-wheel-scnvplas --python-tag cp36:
ERROR: running bdist_wheel
running build
running build_py
creating …Run Code Online (Sandbox Code Playgroud) 我已经尝试安装 pycairo 三天了,我想知道是否有人可以重现该错误,或者我是否慢慢开始发疯。
\n我尝试过的:
\n我查看了Installation of PyCairo on Windows和How do you install PyCairo (Cairo for Python) on Windows?的答案。。
\n我尝试使用从 Windows 的 Python 扩展包下载的文件安装 pycairo,但它显示\n ERROR: pycairo-1.19.1-cp38-cp38-win32.whl is not a supported wheel on this platform.\n我使用了以下命令pip install "C:\\Users\\...\\Downloads\\pycairo-1.19.1-cp38-cp38-win32.whl"
我尝试通过 pip 安装 pycairo pip install pycairo,这给了我一个很长的错误消息:
Collecting pycairo\n Using cached pycairo-1.19.1.tar.gz (205 kB)\nInstalling collected packages: pycairo\n Running setup.py install for pycairo ... error\n ERROR: Command errored out with exit status 1:\n …Run Code Online (Sandbox Code Playgroud) pycairo ×10
python ×8
cairo ×5
pip ×4
easy-install ×1
gobject ×1
graphics ×1
gtk ×1
igraph ×1
performance ×1
pkg-config ×1
python-2.x ×1
python-3.x ×1
rotation ×1
svg ×1
windows-7 ×1