Imagens de zoom e panning SVG usando Raphael.js ou alguma outra biblioteca JS [fechada
-
22-09-2019 - |
Pergunta
Preciso de um pequeno script que exibirá um SVG (imagem vetorial) dentro de um quadro que possui 2 funções;
A imagem pode ser divulgada (movida para analisar diferentes partes da imagem SVG com o cursor) Simmilar para o Google Maps.
A imagem SVG pode ser ampliada para dentro e fora, também similar para o Google Maps, exceto que não haverá necessidade de carregar novas imagens, pois a imagem é um vetor.
Para um script similar que eu vi que funciona com formatos de imagem normais, veja http://jibbering.com/routteplanner/
Solução
Vários pontos em ligar para o Java do código nativo:
- AcessãoCurrentthread só deve ser chamado se JVM-> getenv () retornar um valor zero. Geralmente é um não op se o tópico já estiver conectado, mas você pode salvar um pouco de sobrecarga.
- detaccurrentthread só deve ser chamado se você chamou de angittcurrentthread.
- Evite o separação se você espera ser chamado no mesmo segmento no futuro.
Dependendo do comportamento de rosqueamento do seu código nativo, talvez você queira evitar a separação e armazenar referências a todos os segmentos nativos para eliminação na terminação (se você precisar fazer isso; você pode ser capaz de confiar no desligamento de aplicativos para limpar up).
Se você anexar continuamente e separar os segmentos nativos, a VM deve associar continuamente (muitas vezes as mesmas) com os objetos Java. Algumas VMs podem reutilizar roscas ou temporariamente cache mapeamentos para melhorar o desempenho, mas você obterá um comportamento melhor e mais previsível se não confiar na VM para fazer isso por você.
Outras dicas
Raphael é bom, mas não é bom o suficiente.
Confira esta página: http://code.google.com/p/svgpan/. Faz exatamente o que você pediu.
Eu derivei o svgpan de Andrea em um (espero) mais amigável Plugin Raphäel :)
Você só pode fazer isso por campos RichText, e você o faz através da propriedade HasInitialFocus
Você pode experimentar os scripts da página de teste IE9 http://ie.microsoft.com/testdrive/graphics/42organizationchart/default.xhtml Requer um pouco de ajuste com IDs, mas funcionou bem para mim.
Acabei usando o SVG-PAN-ZOOM que é derivado de svgpan, mas permite zoomin/panning de um arbitrário svg
elemento dentro do seu HTML e pode adicionar controles.
O SVGPAN funciona muito bem se sua página completa for apenas um SVG carregado (como o exemplo do tigre), mas não se o seu SVG estiver em algum lugar mais profundo no HTML.