otspots Statiques
Ce sont des zones dans l'applet assimilables à un image map en html. La syntaxe est la même que pour les hotspots ordinaires mais toutes les coordonnées sont absolues par rapport à la fenêtre d'applet. Les hotspots statiques utilisent le paramêtre 'shotspotNombre' dans les tag de l'applet. Chaque hotspot statique est défini par 5 parametres principaux :
- xnombre - coin gauche x .
- ynombre - haut gauche y
- anombre -coin droit x
- bnombre -coin droit y
- u'nom' - URL du document lié . Doit être entouré avec deds quotes ('). A la place d'un Url on peut utilser toute commande ptviewer préfixée par "ptviewer:".
parametres: optionels
- t'nom' - cible html de l'option u.
- i'nom' - nom de l'image à afficher sir le hotspot est activé (gif or jpeg) , L'image n'est jamais affichée sans l'utilisation des paramêtres p ou q ou de du script DrawSHSImage() .
A la place d'un Url on peut utilser toute commande ptviewer préfixée par "ptviewer:".Cette commande sera éxécutée au survol de la souris , ces commandes sont automatiquement de type popup
- p- Specifier p (sans paramêtres) rend l'image popup au survol de la souris.
- q- spécifier q (sans paramêtres) rend ce hotspot toujours visible.
exemples
<PARAM name=shotspot0 value=" x236 y186 a250 b200 u'ptviewer:startAutoPan(0.5,0,1)'
"> <PARAM name=shotspot1 value=" x250 y186 a264 b200 u'ptviewer:stopAutoPan()'
"> <PARAM name=shotspot2 value=" x264 y186 a278 b200 u'ptviewer:startAutoPan(0,0,0.97)'
">
Ici on montre l'utilisation de commandes ptviewer.
Ces Hotspots statiques peuvent être superposés ( voir les hotspots de panorama)
Previsualiser les Panoramas, Regions Intéressantes, Fonctions de Zoom
L'image panoramique utilisée dans l'applet peut être assemblée de manière dynamique pendant la visualisation. Ceci est réalisé par le tag 'roi' ( Region of interest).
Ce tag a trois paramêtres
- i'nom' - image à insérer (requis).
- x'nombre' - x du point d'insertion (coin haut gache de l'image). Defaut: 0
- y'nombre' - y du point d'insertion (coin haut gauche ). Defaut: 0.
Exemple
<PARAM name=roi0 value="
i'myimage.jpg' x50 y80 ">
l' image 'myimage.jpg' est insérée aux coordonnées 50/80 dans le panoramique. l'image doit tenir dans le panoramique.
Le code suivant précharge une petite image de (600 * 300 pixels) et insere plus tard une image complète (1800 * 900 pixels) version.
<PARAM
name=file value="SmallPano.jpg">
<PARAM name=pwidth
value="1800">
<PARAM name=pheight value="900">
<PARAM name=roi0 value=" i'LargePano.jpg' ">
Par défaut toutes les images ROI sont chargées à l'initialisation. Ceci peut être désactive par le parametre loadAllRoi mis à "false". On peut alors charger des roi individuellement pttviewer:loadROI( int nombre) (ou l'équivalent javascript).
Si aucun fichier n'est indiqué , mais que la largeur du panorama est fournie ("pwidth"), alors ptviewer affiche une grille avec des lignes horizontales et veticaleds séparées par 10°.Cette grille peut être ensuite progressivement être emplie par des images roi Les couleurs de la grille et du fond sont paramétrables avec "grid_bgcolor" and "grid_fgcolor". Par défaut noir et blanc.
Les niveaux de zoom élevés sont mieux implémentés avec l'extension Ptzoom
Son et autres médias
Les fichiers son , aiff, wav and midi sont acceptés re supported in PTViewer 1.2. ils sont appelés par les parametres sound0, sound1, sound2, etc. Specifier le nom du fichier son. Ils peuvent être joués avec la commande ptviewer 'PlaySound(n)' .
D'autres médias sont utilisables mais il faut que la machine hôte ait le JMF installé (Java media framework) .On peut alors utiliser des vidéos avi , quicktime ,flash 2, mpeg1/2/3, et la plupart des formats de son.L'extension Ptmedia permet de charger les medias jmf.
Controles Configurables
Toutes les commandes peuvent être appelées depuis l'applet sans code javascript. Le navigateur web n'est pas indispensable et les promenades virtuelles peuvent être visualisées uniquement avec l'applet
- ZoomIn() Zoom de 3%
- ZoomOut() Zoom de -3%
- panLeft() Pan 5° vers la gauche
- panRight() Pan 5° vers la droite right
- panUp() Pan 5° vers le haut
- panDown() Pan 5° vers le bas
- gotoView(panangle, tiltangle, field-of-view) saute à une jumposition définie par les trois angles (degrés)
- showHS(); montre les Hotspots
- hideHS(); cache les hotspotsh
- toggleHS(); cache les Hotspots affichés et montre les autres
StartAutoPan( pan_inc, tilt_inc, zoom ) fait tourner le panorama . à chaque mouvement les paramêtres sont incrémentés de pan_inc, tilt_inc, et zoom.
- stopAutoPan() Stops autopanning.
- newPanoFromList( nombre ); Charge le panorama nombre dans l'applet.Ce panoramma doit avoir été précédemment défini en utilisant le Tag Pano Nombre .
- newPanoFromList( nombre , panangle, tiltangle, field-of-view) Même chose que le précédent sauf que l'on change les paramêtres de visualisation.
- newPano( String ); Charge le nouveau panorama spécifié par string. La syntaxe pour string est identique à celle de la liste des panoramas.
- moveFromTo( start-panangle, stop-panangle, start-tilt, stop-tilt, start-field-of-view, stop-field-of-view, number -of-frames ) effectue un voyage entre les deux positions spécifiées avec le nombre d'images spécifiées par number of frames
- moveTo( top-panangle, stop-tilt, stop-field-of-view, number -of-frames ) Se déplace du point actuel au point spécifié (comme ci-dessus)
- PlaySound( nombre ); joue le son nombre.
- DrawSHSImage( nombre ); affiche une image de hotspot statique
- HideSHSImage( num ); cache une image de hotspot statique.
- ToggleSHSImage( num ); Permutte la visibilié des images de hotspots statiques.
- DrawHSImage( num ); Affiche une image de Hotspot
- HideHSImage( num ); Cache une image de Hotspot
- ToggleHSImage( num ); Permutte la visibilié des images de hotspots
- ShowCompass(); montre l'image de compas
- HideCompass(); Cache l'image de compas
- waitWhilePanning(); attends pour autopanning, moveTo() or moveFromTo() jusqu'à la fin de l'exécution.
- startApplet( nombre); initialise et démarre l'applet nombred'aprés la liste des applets
- stopApplet( nombre ); stoppe et détruit l'applet nombre
- loadROI( nombre); Charge et insere l'image ROI.
- loadROI( num1, num2); idem mais de num1 to num2 d'aprés la liste des images RPO.
- setQuality( num); positionne la qualité à 0,1,2, or 3.
certaines fonctions demandent des arguments qui doivent être passés comme des constantes.
startAutoPan(2,3,1.2) est permis , pas startAutoPan(1+0.5, tilt, zoom*1.05).
Scripts
PTViewer peut être commandé par des scripts dans le doc html
Plusieurs fonctions sont utilisables e plus de celles qui précèdent
- isVisibleHS() renvoie si les hotspots sont visibles
- pan() renvoie l'angle courant
- tilt() retourne tilt angle (double)
- fov() retourne field-of-view (double)
- getAutoPan() retourne autopanning.
- get_x() returns the mouse coordinate of the last click (mouse-up event)
- get_y() returns the mouse coordinate of the last click (mouse-up event)
- getPanoNumber() returns the list number of the current panorama
- getAppletInfo() returns a string with the copyright message and version
Charger de nouveaux panoramas depuis les applets en cours d'execution
Ceci peut se faire en utilisant newPano() ou newPanoFromList() functions. La fonction newPanoFromList() demande la définition préalable d'une liste de panoramas, alors que la fonction newPano() fournit toutes les définitions dans un argument chaine (string).
Les deux fonctions peuvent être utilisées depuis les controles internes utilisant le URL-tag 'ptviewer:newPanoFromList(numéro)', dans les hotspots des deux types ou en utilisant javascript depuis le navigateur . Tous les paramêtres sont réinitialisés à l'exception des paramêtres de visualisation (width/height/offset).Tous les hotspots , frame, wait image et sons peuvent être redéfinis.
Appel des functions Javascript depuis PTViewer
PTViewer peut appeler des fonctions définies par l'utilisateur. pour cela le parametre mayscript doit être défini comme dans l'exemple suivant.
<APPLET name="ptviewer" archive=ptviewer.jar
code=ptviewer.class width=320 height=200 mayscript=true>
L'appel peut se fakire de trois façons:
- le lier aux hotspots avec le u-tag voir les exemples ci-dessous.
- Specifier le parametre mousehs . Ceci devrait être une code javascript function, qui serait appelé avec le numéro du hotspot courant ou -1 si aucun n'est actif. La syntaxe pourrait être mousehs(int nombre). voir exemples .
- Specifier le parametre getview .Ceci peut être utilisé pour créer un compas , une carte , un son directionnel ect. syntaxe getview(double pan, double tilt, double field-of-view). Pour des raisons de performance , ceci est désactivé pendant les déplacements
Specifier seulement le nom de la focntion sans paramêtres, parentheses
Ceci ne donne pas toujours des résulats stables il y a des incompatibilités de navigateurs
Grandes Images
Certains navigateurs ont une taille limite pour les tableaux linéaires , même si la mémoire est disponible . ceci limite la taille maxi des images que l'applet peut gèrer
PTViewer peut lire de bien plus grandes images en les découpant en interne en chunks. La taille de ces morceaux peut être définir par le parametre 'maxarray' . valeur par défaut #80000 hexadecimal, soit environ 500000pixels, (4byte = 1pixel). Mais ceci ralentit le téléchargement des images par (Internet Explorer) .Les valeurs par défaut fonctionnent avec tous les navigateurs.
Création de fichiers compactés pour tous les fichiers nécessaires à une scène
images, son, textes peuvent être empaquetés dans une seule archive en utilisant l'outils d'archivage .
Placer tous les fichiers dans le même répertoire sans sous-répertoires , y ajouter ptviewer.class file (pas le fichier ptviewer.jar ) . Charger le fichier htmldans un navigateur pour vérifier la configuration .
en ligne de commande : jar c0f ptviewer.jar ptviewer.class file1 file2 file3 file4 file5 file1, file2, etc Au lieux de ptviewer.jar, on peut choisir tous nom avec extension .jar. Juste vérifier le tag dans le paramêtee 'codebase' de la page html.
Aide à la création
- Presser 'v' affiche les paramêtres pan, tilt et field-of-view .
- Presser 'h' et clic souris affiche les coordinnées X/Y dans l'image image panoramique .utilise pour définir les hotspots . Les valeurs sont en coordonnées relatives ( 0..100) et doivent être utilisées avec les X et Y (majuscule) .
- Presser 'i' affiche un copyright .
- Presser 'u' affiche l'URL du document HTML.
- Presser 'p' affiche le chemin vers le document HTML.
- 124 p i'images/popup.gif' ">
|