QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: cjacker

最近在看cairo的代码,随手写的文档,还没有整理。

[复制链接]
发表于 2005-4-5 21:23:04 | 显示全部楼层
好东西,我顶你!
回复

使用道具 举报

发表于 2005-4-5 23:55:40 | 显示全部楼层
freetype里有一个叫什么emboden的东西,大概就是描述粗体的,把它完全重写应该就可以了。但现在大多数ttf字体均有嵌入点阵字体,这样ttf 的embolden和bdf/pcf 的embolden好像有点重复的样子。
回复

使用道具 举报

发表于 2005-4-6 00:37:59 | 显示全部楼层
关注中。
回复

使用道具 举报

发表于 2005-4-6 07:52:08 | 显示全部楼层
好象 Windows 从一开始就是这样的

现在 Longhorn 直接跑在 DirectX 上,是不是和 Cairo + glitz 相当?
回复

使用道具 举报

发表于 2005-4-6 11:52:51 | 显示全部楼层
cvs 了一个 pixman + cairo,似乎改变很大啊,楼主贴的例子中间的函数声明和数据结构全变了。

难道我搞错了?
回复

使用道具 举报

发表于 2005-4-6 12:11:42 | 显示全部楼层
0.4 版本的 snapshot 是可以编译的。似乎 cvs 版本的接口命名方式变了,好了不少。

path 不知道可不可以译成轨迹。
回复

使用道具 举报

发表于 2005-4-6 15:17:39 | 显示全部楼层
下面的 Hello World 代码可以在 2005.4.06 的 cairo 和 pixman 下编译通过,Fedora Core 3,gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)。反正可以跑,有没有 memory leak 不知道。

开源就是好啊,否则这种一点文档都没有的东西,根本不可能用起来。

大家都来动手写 Cairo 程序吧

[code:1]
#include <stdio.h>
#include <cairo.h>
#include <cairo-png.h>

int main()
{
  FILE *fp = fopen("hw.png", "w");

  cairo_t *cr = cairo_create();
  cairo_set_target_image_no_data(cr, CAIRO_FORMAT_ARGB32, 200, 100);

  cairo_select_font(cr, "Serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
  cairo_scale_font(cr, 32.0);
  cairo_set_rgb_color(cr, 0.0, 0.3, 1.0);
  cairo_move_to(cr, 10.0, 50.0);
  cairo_show_text(cr, "Hello World");

  cairo_surface_write_png (cairo_get_target_surface (cr), fp);

  cairo_destroy(cr);

  fclose(fp);
}
[/code:1]
回复

使用道具 举报

发表于 2005-4-6 19:01:31 | 显示全部楼层
我和charlesw早就在看了。
回复

使用道具 举报

发表于 2005-6-1 21:09:29 | 显示全部楼层
还有我
回复

使用道具 举报

发表于 2005-6-1 23:21:04 | 显示全部楼层
linux图形系统效率低最大的原因就是x,现在用cairo还是输出到xlib,效率上会不会打折扣?
  另,xorg正计划重写xlib,叫XBC吧,如果以后cairo跳出x,统一输出到glitz-》opengl,是不是XBC里的关于绘图的东西都可以去掉了?那样的话所有2D/3D都直接输出到有硬件加速能力的opengl,X只管其他资源的管理/调配,linux图形系统的效率可以大大提高。呵呵,是不是太理想化了?
回复

使用道具 举报

发表于 2005-6-29 14:28:14 | 显示全部楼层
[quote:d80c91b13a="tany"]linux图形系统效率低最大的原因就是x,现在用cairo还是输出到xlib,效率上会不会打折扣?
  另,xorg正计划重写xlib,叫XBC吧,如果以后cairo跳出x,统一输出到glitz-》opengl,是不是XBC里的关于绘图的东西都可以去掉了?那样的话所有2D/3D都直接输出到有硬件加速能力的opengl,X只管其他资源的管理/调配,linux图形系统的效率可以大大提高。呵呵,是不是太理想化了?[/quote]

好像是XCB

顶起来!不错的文章!
回复

使用道具 举报

发表于 2005-7-1 00:46:43 | 显示全部楼层
QT4已经正式release了,好像没有提到他的Aurth 绘图系统有用cairo,不过输出和cairo很像,在X11下,可以输出到XRender/OPENGL/POST SCRIPT/image.
回复

使用道具 举报

发表于 2005-10-26 10:40:51 | 显示全部楼层
最近我也接触到了cairo图形库,但是因为是新手,对这个图形库了解的不多,有好多的问题。

请问哪位高人了解cairo中带的pixman这个东西,我只是知道他是一个像素处理库,cairo里面基于像素处理的功能是调用的pixman里面的函数。

但是里面有不少结构我看不大懂,一些成员我不知道是做什么用的,请高人指点。

我很想知道pixman_image结构里面的成员都是做什么的,尤其是alphaMap和clientClip是做什么的,我设计出来的例子里面,它们总是指向NULL,难道只是一个保留的接口吗???

求高手指点,非常感谢!!!
回复

使用道具 举报

发表于 2005-10-31 14:24:08 | 显示全部楼层
[quote:f5c01edec8="tany"]linux图形系统效率低最大的原因就是x,现在用cairo还是输出到xlib,效率上会不会打折扣?
  另,xorg正计划重写xlib,叫XBC吧,如果以后cairo跳出x,统一输出到glitz-》opengl,是不是XBC里的关于绘图的东西都可以去掉了?那样的话所有2D/3D都直接输出到有硬件加速能力的opengl,X只管其他资源的管理/调配,linux图形系统的效率可以大大提高。呵呵,是不是太理想化了?[/quote]
我对X也不太清楚。
不过一直怀疑X这么复杂(可能因此也付出了效率代价)是不是有必要。
有几个人会用到这种复杂的通讯方式。
真希望有个象windows一样快速迅捷的界面。
回复

使用道具 举报

发表于 2008-12-26 10:26:55 | 显示全部楼层

回复 1# cjacker 的帖子

感谢版主的分享!

经测试,cairo效率相对于GDI+确实存在一些差距,即使使用了硬件加速。
不过,能够设计出OpenOffice等如此级别的软件,并且最近并入GTK+,相信在不久的未来,cairo将拥有更为广阔的发展前景,同意版主的见解。

然而,目前开发的系统很多都是基于位图像素点操作的,处理的也是.bmp文件,而cairo基于矢量设计概念在与原有程序的接口对接上出现了一些问题,看到有人说要引入gtk+库并接上运行时。。。

不知有没有很好的方法既使用cairo又可以操作.bmp的像素点?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-27 13:19 , Processed in 0.274514 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表