IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

WebView et image imposante


Sujet :

Composants graphiques Android

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut WebView et image imposante
    Bonjour à tous,

    Je souhaite réaliser une application où l'utilisateur pourra visionner des grandes images.
    Quand je dis grandes, c'est vraiment grandes (du style 5000px par 5000px, donc un dizaine de Mo au maximum)
    J'ai cherché du côté des librairies pour afficher ce genre d'images sans tomber dans une OOME (OutOfMemoryError).
    Je n'ai rien trouvé de très concluant. (Je suis preneur si vous en connaissez une qui fonctionne bien)
    Du coup je me suis penché sur la WebView (puisqu'elle sait très bien faire ce boulot).
    Jusque là, ça va à peu près. Sauf que j'aimerai plusieurs chose dont je suis actuellement incapable de réaliser. (par manque de connaissance évidemment)

    - J'aimerai que la webView soit automatiquement redimensionnée lorsque j'affiche l'image (donc visible entièrement). Par défaut, la webView a un trop gros zoom (même avec ZoomDensity.FAR).
    -Le zoom minimal n'est pas suffisant, j'ai donc utilisé webView.getSettings().setUseWideViewPort(true); mais maintenant, il faudrait bloquer le zoom pour éviter que l'utilisateur dézoom en dehors de l'image (c'est à dire limiter la vue pour ne pas afficher de bordure)
    Et si cette dernière n'est pas faisable, afficher l'image toujours au milieu de la page (certainement un trick en HTML ou CSS)

    Merci d'avance.
    Si vous avez besoin de plus d'infos ou si je me suis mal expliqué, demandez moi des clarifications

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Il y a longtemps, il y avait la téchnologie FlashPix, qui permettait d'afficher/zoomer des images de 20000x20000 quasi instantanément (avec la bande passante d'il y a 10 ans ! ).
    Il y avait même un "FlashPix-Server" qui permettait de streamer de grosses images... Il y avait même HP/Kodak et Microsoft qui bossaient main dans la main avec ce truc.... Mais ça n'a pas plus à Adobe et du coup le format n'a jamais décollé. Je ne sais pas si il reste des fonctions disponibles (je ne sais même pas qui a les brevets en ce moment).

    Par contre, coté browser (donc webview), il n'y a pas de mystère: il ne sait faire qu'une image simple, donc il faut lui préparer l'image coté serveur.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Le problème n'est pas vraiment là.
    Mon image provient de l'application (et non pas téléchargée sur un serveur).

    Mon problème se situe au niveau du rendu de l'image au sein de la WebView : Zoom par défaut, Zoom minimal pour qu'on ne puisse pas zoomer en dehors de l'image, centrage de l'image au sein de la WebView...

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Ca ne change rien... un webview va afficher UNE image... si elle doit la retailler, elle va quand même la coller en mémoire en entier (et non compressée).... soit, 95Mo...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Encore une fois, je pense que tu n'as pas bien saisi mon problème.

    J'arrive parfaitement à afficher l'image en entier dans la WebView. J'arrive à zoomer, dézoomer.
    Mais ce que je n'arrive pas c'est à définir le niveau de zoom initial pour que l'image soit affichée correctement (soit toute la largeur est visible, soit toute la longueur, de façon à ce qu'il n'y ai pas les contours visibles)

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Effectivement j'avais rien compris....
    J'étais resté à:
    J'ai cherché du côté des librairies pour afficher ce genre d'images sans tomber dans une OOME (OutOfMemoryError).
    Je n'ai rien trouvé de très concluant. (Je suis preneur si vous en connaissez une qui fonctionne bien)


    Donc, tu utilises un webview comme visualiseur d'image... c'est ça ?
    Par contre je ne comprends pas ce que tu veux empêcher comme zoom.... (et je ne suis pas sur que cela soit possible dans une webview d'ailleurs).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Donc, tu utilises un webview comme visualiseur d'image... c'est ça ?
    Oui et ça fonctionne très bien ainsi.

    Citation Envoyé par nicroman Voir le message
    Par contre je ne comprends pas ce que tu veux empêcher comme zoom.... (et je ne suis pas sur que cela soit possible dans une webview d'ailleurs)
    Par défaut, la webView empêche l'utilisateur de dézoomer plus que la largeur de la page.
    Par exemple, mon image fait 1000px de large et 500px de hauteur, la webview autorisera au maximum de dézoomer pour atteindre les 1000px de largeur, pas plus.
    Ce que j'aimerai, c'est que cette limite soit aussi valable pour la hauteur.
    Ainsi, la webview bloquera automatiquement le zoom dès que l'utilisateur aura atteint soit la largeur maximale, soit la hauteur maximale.

    Sur l'image ci dessous, le noir correspond à l'écran du téléphone et le rouge à l'image à afficher.
    1) l'image est plus large que haute, le dézoom maximal sera comme suit.
    2) l'image est plus haute que large, le dézoom maximal sera comme suit.
    Images attachées Images attachées  

Discussions similaires

  1. Resize d'une image
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 13/07/2008, 22h23
  2. recherche des algorythmes pour images 2d
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/05/2002, 13h46
  3. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 00h11
  4. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44
  5. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo