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 :

Appel de function dans un datalist (image) + crop image [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 166
    Points : 86
    Points
    86
    Par défaut Appel de function dans un datalist (image) + crop image
    Bonjour à tous,
    Je souhaite savoir comment je peux appeler une fonction de traitement avant le chargement de l'image dans le contrôle image d'un datalist. Cette fonction permettra un crop de l'image avant le chargement.
    Ci-dessous le code asp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:ImageButton ID="ImageButton1" CssClass="Photo" runat="server" ImageUrl='<%# XPath("@PhotoName") %>' CommandName="Select" />
    Dans la propriété ImageUrl, je vais charger un element xml (xpath). J'aimerai seulement traiter la photo avant de la charger...
    En fait, qlq chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:ImageButton ID="ImageButton1" CssClass="Photo" runat="server" ImageUrl='<%# MaFonction(XPath("@PhotoName")) %>' CommandName="Select" />
    La fonction serai comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Function CropImage(ByVal OriginalImage As Bitmap, ByVal TopLeft As Point, ByVal BottomRight As Point) As Bitmap
        Dim btmCropped As New Bitmap((BottomRight.Y - TopLeft.Y), (BottomRight.X - TopLeft.X))
        Dim grpOriginal As Graphics = Graphics.FromImage(btmCropped)
        grpOriginal.DrawImage(OriginalImage, New Rectangle(0, 0, btmCropped.Width, btmCropped.Height), _
            TopLeft.X, TopLeft.Y, btmCropped.Width, btmCropped.Height, GraphicsUnit.Pixel)
        grpOriginal.Dispose()
        Return btmCropped
    End Function
    Là en plus la fonction renvoie un BITMAP et pas une Url... !
    Une idée ?
    Patrick

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    tu devras sauver ton image "croppé" dans un folder temporaire et faire pointer l'imageurl dessus...
    Un autre choix serait de l'encoder en base64 mais ca risque de pas mal alourdir la page. (bande passante)

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 166
    Points : 86
    Points
    86
    Par défaut
    Je me doutais qu'il fallait que je la sauve sur disk avant de la loader dans le control image du datalist.
    Je vais bosser sur ça...
    Merci

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par patrickvier Voir le message
    Je me doutais qu'il fallait que je la sauve sur disk avant de la loader dans le control image du datalist.
    Je vais bosser sur ça...
    Merci
    Tu peux aussi convertir ton image en base64 et ton controle image pourra la lire. Ca t'évitera de sauver inutilement l'image mais c'est gourmand en bande passante si ce sont de grosse image ou si il y en a plein...
    ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..."/>

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

Discussions similaires

  1. Appel de function dans un animate() (jquery)
    Par oceane751 dans le forum jQuery
    Réponses: 6
    Dernier message: 27/07/2015, 16h50
  2. 2 appel de function dans un onclick ?
    Par skillipo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/02/2008, 16h37
  3. VB6 creation et appel function dans dll
    Par atc666 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 07/11/2007, 19h48
  4. 1 image + 1 image = 1 image
    Par dleu dans le forum Delphi
    Réponses: 2
    Dernier message: 24/05/2006, 20h15
  5. Réponses: 3
    Dernier message: 23/06/2004, 21h17

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