具有透明度,多边形,读取图像像素的简单图形API?

时间:2010-06-11 09:00:35

标签: javascript python graphics canvas svg

我需要一个支持以下功能的简单图形库:

  1. 能够使用RGBA颜色(即部分透明)绘制多边形(不仅仅是矩形!),
  2. 能够加载位图图像,
  3. 能够读取给定坐标中像素的当前颜色。
  4. 理想情况下使用JavaScript或Python。

    似乎像HTML 5 Canvas可以处理#2和#3但不能处理#1,而SVG可以处理#1和#2但不能处理#3。我错过了什么(关于这两个中的任何一个)?还是有其他选择吗?

5 个答案:

答案 0 :(得分:3)

PyGame可以做所有这些事情。 OTOH,我认为它不太适合嵌入GUI。

答案 1 :(得分:2)

我最终选择了Canvas。多边形的“秘密”是使用路径。谢谢,“tur1ng”!

答案 2 :(得分:1)

GameJs做的更多 - 它与上面提到的PyGame类似。

http://gamejs.org

能够使用RGBA颜色(即部分透明)绘制多边形(不仅仅是矩形!),

gamejs.draw.polygon (surface, color, pointlist, width)

透明色可以定义为'rgba(50,50,50,0.1)'(最后是alpha)

http://docs.gamejs.org/gamejs/draw/#polygon

能够加载位图图像,

var surface = gamejs.image.load('images/foo.png')

http://docs.gamejs.org/gamejs/image/

能够读取给定坐标中像素的当前颜色。

// a surface array is a special DOM canvas array
// that is superfast for per pixel access / manipulation

var srfArray = new SurfaceArray(display);
srfArray.set(50, 100, [255, 0, 0, 100]);
srfArray.get(20, 30);

http://docs.gamejs.org/gamejs/surfacearray/

答案 3 :(得分:0)

我投票支持PyGame,但我还要指出新的QT图形库似乎非常强大。我还没有使用PyQT和QT4,但我真的很喜欢用QT3进行PyQT开发。

答案 4 :(得分:-1)