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 :

Définir la taille d'une image en dp programmatiquement


Sujet :

Android

  1. #1
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut Définir la taille d'une image en dp programmatiquement
    Bonjour,

    Je voudrais, programmatiquement, définir une nouvelle image avec sa taille en dp.

    Si je fais comme ceci, l'image sera de 300px horizontalement et 250px verticallement, au lieu de dp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ImageView imageView = new ImageView(context);
    imageView.setImageResource(monImage);
    imageView.setLayoutParams(new Gallery.LayoutParams(300, 250));
    Quand je recherche sur un moteur de recherche, je tombe toujours sur la déclaration en XML (où il suffit de définir px ou dp), ce qui n'est pas ce que je veux dans ce cas. Je veux le faire programmatiquement.

    Je sais qu'on peut faire le calcul à la main (en connaissant la densité : getResources().getDisplayMetrics().density), mais je suis sûr qu'une telle méthode de conversion existe déjà dans l'API standard d'Android...

    Merci de votre aide ;-)

    EDIT: je n'avais pas vu que la densité valait 1.0 sur un "medium density screen", je croyais qu'elle valait 160 (la résolution). Du coup il suffit de multiplier par la densité...

  2. #2
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut
    Ce n'est qu'un simple calcul :
    (je te laisse retourner l'équation pour calculer dp et non px)

  3. #3
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Oui, pour le moment j'ai multiplié par getResources().getDisplayMetrics().density.

    Mais je me disais qu'il devait sûrement y avoir une méthode qui permette de faire la conversion (même si elle est simple).

    On a bien des Math.floor et Math.round.

    Et on apprécie d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int round = Math.round(value);
    plutôt que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int round = (int) (value + .5f);

Discussions similaires

  1. Récupérer la taille d'une image dans un fichier (GIF/JPEG)
    Par SheikYerbouti dans le forum Multimédia
    Réponses: 4
    Dernier message: 12/05/2005, 14h17
  2. [Photoshop] Changement de taille d'une image
    Par sole dans le forum Imagerie
    Réponses: 4
    Dernier message: 29/04/2005, 16h13
  3. Recuperation de la taille d'une image avec la propriété SRC
    Par CDRIK dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/10/2004, 03h05
  4. [FLASH MX] taille d'une image
    Par matN59 dans le forum Flash
    Réponses: 2
    Dernier message: 10/06/2004, 10h51

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