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

ASP.NET Discussion :

Afficher une image générée directement dans un controle Image


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Par défaut Afficher une image générée directement dans un controle Image
    Salut,

    Dans mon application ASP.NET, je génére une image grâce à la classe Bitmap.

    Ensuite je veux afficher cette image dans le Web Control Image.

    Est-il possible d'afficher directement l'image dans le contrôle sans pour autant stocker l'image sur le serveur ?

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Tu peux utiliser un HttpHandler qui te renverra le Stream. Dans la property ImageUrl de ton contrôle, tu indiques l'url du ImageHandler et le tour est joué.

    Un exemple ici. Sinon il y en a pas mal d'autres sur Google.

    En espérant t'avoir aidé.

  3. #3
    Membre éclairé
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Par défaut
    Merci pour ta réponse. J'étais effectivement sur la piste du flux binaire et j'ai trouvé une solution.

    J'ai crée une page ASPX ou dans le PageLoad() je transforme mon Bitmap en flux binaire et je l'écris sur la page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     protected void Page_Load(object sender, EventArgs e)
            {
                string aString = "test12345";
     
                this.theCaptcha = new Captcha(aString, 150, 50);
     
                // Instanciantion du flux binaire
                MemoryStream captchaStream = new MemoryStream();
     
                // Le Bitmap est transformé en flux binaire grâce à la méthode Save()
                theCaptcha.Image.Save(captchaStream, System.Drawing.Imaging.ImageFormat.Jpeg);
     
                captchaByte = new Byte[captchaStream.Length];
     
                captchaStream.Position = 0;
     
                // Je stocke mon flux binaire dans un tableau de byte
                captchaStream.Read(captchaByte, 0, Convert.ToInt32(captchaStream.Length));
     
                // J'écris le flux dans la page courante
                this.Response.ContentType = "image/jpeg";
                this.Response.BinaryWrite(captchaByte);
            }
    Ensuite dans mon UserControl, je mets un controle Image ou j'affecte à la propriété ImageURL le chemin vers ma page ASPX précedement créee:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            protected void Page_Load(object sender, EventArgs e)
            {
                ...
     
                       this.img_captcha.ImageUrl = "~/DisplayCaptcha.aspx";
     
                ...
            }
    Je n'ai pas trop eu le temps de regarder le lien que tu m'as envoyé avec le Httphandler mais merci quand même.

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

Discussions similaires

  1. [Toutes versions] Extraire une image d'une dll et la mettre dans un controle Image
    Par mkl238 dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/12/2010, 15h17
  2. Réponses: 0
    Dernier message: 30/11/2009, 09h50
  3. Réponses: 6
    Dernier message: 14/02/2006, 20h53
  4. afficher une valeur par défault dans la combobox
    Par shadow31 dans le forum MFC
    Réponses: 6
    Dernier message: 09/01/2006, 17h25
  5. [JDOM] Créer une variable xml directement dans java
    Par Tigrounette dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 18/12/2005, 14h21

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