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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    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 confirmé

    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
    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.

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    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 confirmé

    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
    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...

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    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 confirmé

    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
    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).

Discussions similaires

  1. Resize d'une image
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 13/07/2008, 23h23
  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, 14h46
  3. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 01h11
  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, 11h44
  5. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h04

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