在Pharo中与SVG交互?

时间:2013-01-29 13:39:23

标签: svg smalltalk pharo morphic

我希望通过使用Morphic在Pharo中通过Athens加载的SVG进行非常基本的交互。这example显示了我正在寻找的内容。我用过

(ASVGMorph fromFile: 'lion.svg') drawOn: Display getCanvas

但点击SVG会使图片消失。但是我见过的所有例子都是使用网络浏览器。这可能使用雅典吗?这个领域还有其他工作吗?

2 个答案:

答案 0 :(得分:3)

那是因为你在显示画布上绘画,每次都刷新...所以很自然你丢失了它......

您需要做的是:

(ASVGMorph fromFile: 'lion.svg') openInWorld.

或更好,你可能想把它放在一个窗口中:

(ASVGMorph fromFile: 'lion.svg') openInWindow.

最后,你可能会想要在你创建的其他变形内部,但是调试上面的任何一个解决方案都会告诉你如何继续:)

答案 1 :(得分:2)

是的,正如Esteban指出的那样,要在桌面上保持变形,你应该将它添加到世界,即使用

openInWorld,或#openInWindow。

然而,ASVGMorph是非常基本的,并非旨在为所有可能的用例提供服务。 对于更高级的用途,最好使用ASVGRoot实例并在自己的变形中绘制或与其他绘图合成。