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

C# Discussion :

Affichage d'image - la meilleure solution ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Par défaut Affichage d'image - la meilleure solution ?
    Bonjour à tous,

    Je développe en ce moment une petite application avec Visual Studio 2008 en C# et base de données SQL Server compact edition.

    Cette application affiche des images contenu dans une table sous forme de tableau de byte. Et pour ce faire, je créé des objets picturebox dynamiquement, puis leur affecte l'image récupéré de la base de données (j'utilise la méthode GetThumbnailImage() pour qu'elle soit plus petite et donc moins lourde).

    Cependant, je trouve cela un peu lent et je me demandais si il n'y avais pas un autre objet moins gourmand pour afficher des images ou une autre méthode ?

  2. #2
    Membre confirmé Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Par défaut
    Personne pour m'aider ?

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    J'ai pas de solution, mais d'une manière analytique, on peut en trouver une !

    Trouve le maillon "lent" de ton flux (selection, chargement , transfert, affichage, etc...) et améliore le !

    Facile à dire hein

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2004
    Messages : 77
    Par défaut
    Tiens-tu obligatoirement à mettre des images directement dans la base de données ?

    tu pourrais mettre un lien du style \\nom_du_serveur\\dossier_images\image.jpg dans ta BD et des images seraient sur ton serveur.

    Lors de l'affichage de ton image, tu vérifie si elle existe sur le disque et tu l'affiche.

    JM

  5. #5
    Membre confirmé Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Par défaut
    Merci à vous, désolé de répondre si tard mais j'avais pas l'accès au net

    J'ai bien déjà pensé à ton histoire de lien nonaparus mais mon logiciel permet de gérer des fonds d'écran... L'utilité de la base de données c'est qu'il suffit de copier la base pour faire une sauvegarde de la totalité des fonds. Si je ne fais que repointé sur des liens que l'utilisateur m'envoie aucun intérêt...

    Par contre, au niveau du maillon faible comme le dit ZaaN, j'ai fait mon enquête et il s'agit de la méthode qui convertit mon tableau de byte en image !

    voici le code du coupable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public Image byteArrayToImage(byte[] byteArrayIn)
    {
         MemoryStream ms = new MemoryStream(byteArrayIn);
         Image returnImage = Image.FromStream(ms);
         return returnImage;
    }
    Plus la photo est grande plus cette méthode est longue à s'exécuter (logique)
    mais je ne vois pas trop comment faire plus rapide

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2003
    Messages : 41
    Par défaut
    Utilise un répertoire de cache.

    Au lieu de créer à chaque fois ta miniature sur le poste, crée la miniature que si celle-ci n'existe pas dans le répertoire temporaire de l'utilisateur.

    La première fois ce sera lent mais les fois d'après, ça ira plus vite.

    Hasan

Discussions similaires

  1. meilleur solution pour afficher un patchwork d'image
    Par elekis dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 24/08/2008, 19h47
  2. meilleur solution pour créer un document imprimable???
    Par martimacfly dans le forum XML/XSL et SOAP
    Réponses: 26
    Dernier message: 08/07/2004, 10h09
  3. [Conception] Meilleures solutions pour gérer le multilangage
    Par scorpiwolf dans le forum Général Java
    Réponses: 3
    Dernier message: 06/07/2004, 16h11
  4. PB affichage d'image avec IE
    Par arturo dans le forum Modules
    Réponses: 6
    Dernier message: 25/09/2003, 17h28
  5. [VB6] Affichage d'image avec qlq contraintes
    Par youri dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h44

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