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

Android Discussion :

Gestion des png


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Points : 15
    Points
    15
    Par défaut Gestion des png
    Bonjour,

    Je développe actuellement une application sur téléphone et tablette dont l'écran de connexion affiche une image de fond.

    J'ai mon image un png de 2844 x 1778 avec 160 pixels/pouce.

    Quand je lance mon appli avec ma galaxy tab 3 pas de problème, par contre sur ma nexus 7 l'image ne s'affiche pas (j'ai un message dans mon logcat qui me dit que je ne peux pas afficher une image plus grande que 2048 x 2048).

    J'imagine que ça va être la même avec mon téléphone.

    Du coup je me demandais si il existait une bonne pratique pour utiliser des png dans les applications (un peu comme android asset studio fait pour les icônes)?

    Comment je doit gérer mes images?

    En attendant vos réponses,
    Merci

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Les dossiers des différentes densité d'écran sont là pour ça.
    Une GalaxyTab3 c'est du mdpi donc dans drawable-mdpi tu dois avoir une image correspondant à sa résolution ou approchant
    La nexus 7 c'est du hdpi donc idem dans drawable-hdpi

    Mais y'a peu d echance qu'une image de 2844 x 1778 est sa place dans le dossier mdpi , c'est plutôt de l'ordre du xhdpi.
    Après tu peux encore cibler plus précisement qui charche quoi en ajoutant des dossier du genre :
    drawable-sw600dp-hdpi pour cibler une tablette de 7 pouce avec une densité hdpi

    Voir http://developer.android.com/guide/t...ativeResources pourtous les détails.

    Quoi qu'il en soit tu ne peux pas faire un png unique , il en faut plusieurs de plusieurs tailles.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Merci pour ta réponse grunk.

    J'ai effectivement les dossiers:
    drawable-mdpi
    drawable-hdpi
    drawable-xhdpi
    drawable-xxhdpi
    et
    layout (pour les smartphone)
    layout-sw600dp (pour les tablettes)

    Si j'ai bien compris, il faut donc que je réduise la taille de mon image de base mais pas sa densité ?

    J'ai regardé sur photoshop, si je prend mon image de base et que je change la densité de 160 pixels/pouce (mdpi) à 240 pixels/pouce (hdpi) la taille devient 4266x 2667 !!!

    J'avoue que je m'y perd un peu. Qu'elle est la taille raisonnable pour du mdpi?

    Merci

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    C'est rarement moi qui m'occupe des ressources graphiques et quand je le fait je ne m'occupe pas de la densité mais uniquement de la résolution.

    Donc dans ton cas particulier pour ton image de fond , je ferais 2 versions pour chaque densité :
    drawable-mdpi => pour téléphone 320 * 480
    drawable--sw600dp-mdpi => pour tablet 1024*600

    Et après tu fais les déclinaisons dans les densités supérieures
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Ok, merci beaucoup je vais tenter ça.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Je suis désolé mais j'ai encore une petite question:

    Quand je change la densité de mdpi en hdpi, je garde la même taille d'écran ?

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Si tu as un icone de 100*100 en mdpi il fera 150*150 en hdpi (facteur 1.5) , 200*200en xhdpi (facteur 2) et 300*300 en xxhdpi (facteur 3)

    Sous photoshop en gardant la densité à 72ppi tu vas te retrouver en mdpi où 1px = 1dp. Donc si tu as besoin de xhdpi tu fais simplement x2 sur les dimension de l'image à créer.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Ok j'augmente la taille, mais je ne change pas la densité ? (je laisse 72ppi ?)

    Désolé mais je suis vraiment nul en graphisme

  9. #9
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Petit utilitaire online bien sympa : http://romannurik.github.io/AndroidAssetStudio/

    Tu upload ton image d'origine, et il te génère les variantes mdpi, hdpi, etc.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Citation Envoyé par roukish Voir le message
    Ok j'augmente la taille, mais je ne change pas la densité ? (je laisse 72ppi ?)
    Puisque que personne ne semble répondre, je te donne ma définition

    72 ppi -> cela veut dire 72 pixels par pouce (environ 2.54 centimètres)

    Donc si tu fais une image de 72 de large, cela va occuper 2.54 centimètres sur l'écran.

    Maintenant, il y a d'autres écrans qui ont une résolution de 144 ppi -> cela veut dire 144 pixels par pouce (environ 2.54 centimètres)
    Donc si tu prends ton image 72ppi, l'écran va avoir seulement 72 pixels pour 144 pixels par pouce, soit 2 fois moins d'informations.

    Donc, c'est mieux d'avoir une autre image 144 ppi, pour remplir tous les pixels.

    En principe un bon créa part d'une image avec la plus grosse résolution possible et génère les autres images en divisant la résolution, ... même s'il faudra éventuellement refaire une image lorsque l'écart de taille est trop important.

    Et il me semble qu'Android s'appuie sur les 5-6 résolutions prédéfinies (ldpi, mdpi, hdpi, xdpi, xxdpi, ...) renseignées par le développeur pour gérer les résolutions intermédiaires.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Merci foetus et merci Hephaistos007

    @Hephaistos007
    Le lien http://romannurik.github.io/AndroidAssetStudio/ marche bien pour des icônes mais pour une image de fond ça donne un rendu pas terrible.

    Sinon je vais du coup tenter de faire une image de 3072x1800 avec 72ppi (pour les écrans xxhdpi)
    puis réduire sa taille afin d'obtenir du 1024x600 toujour en 72ppi (pour les écrans mdpi)

  12. #12
    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
    Heu... attends... si tu parles des "ppp" dans photoshop ... ne les utilise pas. Ils sont là pour la composition et la gestion des tailles d'image entre elles.

    Sous Android, peu importe ce que l'image indique comme "dpi" (version anglaise de "ppp"), ce qui importe c'est ou elle est située:

    Dossier "ldpi" => les images sont considérées comme ayant 120dpi
    Dossier "mdpi" => les images sont considérées comme ayant 160dpi
    Dossier "hdpi" => les images sont considérées comme ayant 240dpi
    Dossier "xhdpi" => les images sont considérées comme ayant 320dpi
    Dossier "xxhdpi" => les images sont considérées comme ayant 480dpi
    Dossier "xxxhdpi" => les images sont considérées comme ayant 640dpi

    Donc si ton image de 2844 x 1778 correspond à 160dpi, elle doit être collée dans le dossier "mdpi" (cela me semble bizarre, car cela correspondrait à un écran de 18" x 11" !!!). A mon avis cela ressemble plus à du hdpi comme déjà dit.
    Ensuite il faudra une image 2133 x 1333 pour la version dans "ldpi", 4266x2667 pour la version à coller dans "hdpi", etc...



    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  13. #13
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Merci pour ta réponse nicroman.

    je vais essayer de reprendre n'hésitez pas à m’arrêter si je me trompe:

    Si je prend le cas de mon icône, au départ elle mesure 85x85 pixels et elle a une densité de 160 pixels par pouce.
    J'utilise le lien: http://romannurik.github.io/AndroidAssetStudio/ dans la partie "Launcher icons" j'utilise l'image que j'ai et je télécharge le zip.
    Quand je regarde les caractéristiques de mes images sous photoshop, elles sont toutes en 72 pixels par pouce et les tailles sont:
    48x48 pour le dossier mdpi
    72x72 pour le dossier hdpi
    96x96 pour le dossier xhdpi
    144x144 pour le dossier xxhdpi
    192x192 pour le dossier xxxhdpi

    A ce niveau nickel, pour tablette ou téléphone.

    Du coup j'imagine qu'il me faut mon image de fond en 72 pixels par pouce avec comme taille:
    Pour les tablettes:
    1024x600 pour le mdpi
    1536x900 pour le hdpi
    2048x1200 pour le xhdpi
    3072x1800 pour le xxhdpi

    et pour les smartphones
    320x480 pour le mdpi
    480x720 pour le hdpi
    640x960 pour le xhdpi
    960x1440 pour le xxhdpi


    ou alors j'ai rien compris et ça serait sympa de me réexpliquer.

    En espérant que l'un de vous me réponde.. j'vais continuer à chercher

  14. #14
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    C'est ça.
    Pour les téléphone la résolution est peut être un peu faible. La norme actuelle c'est 1920*1080 en xhdpi , donc peut être te baser la dessus et décliner ensuite les autres version.
    Sachant quand même que des devices en mdpi y'en à pas des masses.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Ok un grand merci à vous tous, j'ai beaucoup appris je pense.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/11/2014, 02h14
  2. "Document.body.filters" dans la gestion des PNG sur IE6
    Par neilaur dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/09/2011, 10h35
  3. Gestion des PNG par IE 6 & 7
    Par Flackou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 22/11/2008, 14h25
  4. Réponses: 0
    Dernier message: 03/11/2008, 10h49
  5. gestion des contours des png
    Par DarkChamallo dans le forum Delphi
    Réponses: 114
    Dernier message: 26/06/2006, 18h57

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