简单的图形API,支持透明度、多边形和读取图像像素?
我需要一个简单的图形库,能够支持以下功能:
- 可以画多边形(不仅仅是矩形!),而且颜色要支持RGBA(也就是可以部分透明),
- 可以加载位图图片,
- 可以读取指定坐标的像素当前颜色。
最好是用JavaScript或Python来实现。
看起来HTML 5 Canvas可以处理第2和第3个功能,但第1个功能不行,而SVG可以处理第1和第2个功能,但第3个功能不行。我是不是漏掉了什么(关于这两个)?或者有没有其他的选择?
5 个回答
1
GameJs 不仅能做到这些,还能做更多的事情 - 它和之前提到的 PyGame 很相似。
它可以绘制多边形(不仅仅是矩形!),而且支持 RGBA 颜色(也就是可以部分透明的颜色),
gamejs.draw.polygon (surface, color, pointlist, width)
透明颜色可以用 'rgba(50, 50, 50, 0.1)' 来定义(最后一个数字是透明度)。
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);
2
我最后选择了使用Canvas。多边形的“秘诀”就是使用路径。谢谢你,"tur1ng"!
3
PyGame可以做这些事情。不过,我觉得它不太适合嵌入到图形用户界面(GUI)中。