Взаимодействовать с SVG в Pharo?
Я хочу получить очень простое взаимодействие с SVG, загруженным через Афины в Фаро, используя Morphic. Этот пример показывает, что я ищу. я использовал
(ASVGMorph fromFile: 'lion.svg') drawOn: Display getCanvas
но щелчок SVG делает картинку исчезающей. Однако все примеры, которые я видел, использовали веб-браузер. Возможно ли это с помощью Афин? Есть ли другие работы в этой области?
2 ответа
Это потому, что вы рисуете его на холсте дисплея, который обновляется каждый раз... так естественно, что вы потеряли его...
Что вам нужно сделать, это:
(ASVGMorph fromFile: 'lion.svg') openInWorld.
или лучше, вы, вероятно, хотите поместить его в окно:
(ASVGMorph fromFile: 'lion.svg') openInWindow.
в конце вы, вероятно, захотите сделать это внутри какого-то другого созданного вами морфа, но отладка любого из приведенных выше решений покажет вам, как действовать:)
Да, как указал Эстебан, чтобы сохранить морфинг на рабочем столе, вы должны добавить его в мир, то есть использовать
openInWorld или #openInWindow.
ASVGMorph, однако, очень прост и не предназначен для обслуживания всех возможных вариантов использования. Для более сложных применений предпочтительно использовать экземпляр ASVGRoot и рисовать его в своем собственном морфинге или создавать с другими чертежами.