追忆http://www.antigrain.com!!
I also fugured out how to implement the alpha-masking
in a simple and very elegant way
指出如何简单而又优雅的实现alpha-masking,什么东东!!
Here‘s a picture that explains (I hope) the
construction of the conversion pipelines
作者试图解释转换管道的构造过程
http://www.antigrain.com/img/conv_stroke_pipelines.gif
但是该网址失效!!
I like again the smooth animation when tuning the
dash parameters.
调整dash虚线的参数,绘制流畅的动态画面效果,真是太棒了!!
感谢作者在examples下提供大量的例子,并且提供调整参数例如:
gramma或者alpha,查看到优美的效果!!
Sorry, I couldn‘t create an example with markers -
too tired after two hours of roller-blading. That‘s
great to have a couple of beer with good old nostalgic Dschinghis Khan music. :-)
非常抱歉,始终无法使用标志创建例子,经过两个小时的翻来覆去的
捣鼓,已经精疲力竭了。如果来段音乐或者一打啤酒那就太好了!!
You mean large window?Is it possible to define for
instance an ellipse as a clip region? And is that
flattened into line segments?平滑过渡到线段
a clip region裁剪区域
现在还只是矩形的裁剪。使用多边形(polygonal)可能会迷惑读者,实际上只是一个
矢量(vectorial).目前提供两种裁剪。最低级是scanline-clipping ,她由渲染器
完成。她只负责在缓存内部描绘,但是如果多边形超出边界,那还是做了无用功
另一种是纯矢量(pure vectorial).查看代码agg_conv_clip_polygon.h
Large scaling values, not large windows :-).
For now it‘s only rectangular clipping. Well, I feel I
need to clarify it. Maybe it‘s a confusing term
"polygonal", actually it‘s "vectorial". Now there‘re
two levels of clipping. The low level is the
scanline-clipping and it‘s done in the renderers. It
helps to keep drawing inside the framebuffer only, but
in case where the polygon is completely out of bound
there‘s still a lot of useless work.
Another level is pure vectorial, see
agg_conv_clip_polygon.h
It clips polygons and in general case produces a new
or modified set of vertices. I‘m also thinking about
the third level of clipping, based on bounding boxes
(kind of rough clipping).
s for arbitrary shapes for clipping there‘re also two
different things. One is pixel alpha-masking, I‘ll
work on in soon. It‘s not only a visible/invisible
flag, it‘s an alpha-value. So, the basic technique is.
You render the simple 256 grayscale buffer and then
use it as a mask, so that you can have clipping of any
shape (and yes, including round ones) with perfectly
anti-aliases edges. It‘s a pixel-based mask.
The other is called CSG (Constructive Solid Geometry),
i.e., unions, intersections, etc. It‘s also done in
the vectorial representation before rendering. I‘m
thinking about some simple implementation of the
intersection operation (arbitrary polygonal clipping).