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 :

Manipuler des fichiers images avec du .NET


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Manipuler des fichiers images avec du .NET
    Salut tout le monde.

    On voit pas mal de site (surtout de rencontre) qui manipulent les photos que l'on poste. Ils rajoute un filigranne sur la photo, genre le nom du site en travers ou en bas de la photo, visiblement sans intervention humaine (ou alors le gars est super fort ! ! ! ).

    Les sites que j'ai vu sont essentiellement programmé en PHP. ALors je me pose la quesiton : .NET permets il cela ? Vu que la réponse va être oui, avec des grandes chances, je pose la question d'aprés :

    Comment on fait ?

  2. #2
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Pense à utiliser la fonction recherche (danns developpez ou )

    http://www.developpez.net/forums/d40...ne-gif-animes/

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Jette un oeil aux classes System.Drawing.Image et System.Drawing.Graphics

    C'est à peu près tout ce dont tu auras besoin

    Tu peux ouvrir un fichier image de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim img As Image = Image.FromFile("uneImage.jpg")
    Ensuite tu crées un Graphics pour la manipuler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim g As Graphics = Graphics.FromImage(img)
    Tu dessines ce que tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    g.FillEllipse(Brushes.Green, x1, y1, x2, y2)
    g.DrawString("Hello", New Font("Arial", 12), Brushes.Black, x, y)
    ...
    Et tu enregistres l'image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    img.Save("uneImage_modifiée.jpg")

  4. #4
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci Poulain pour ta remarque pertinente.
    Depuis le temps que tu me croise ici, tu doutes encore du fait que je fasse cette action simple et préalable à tous mes topics ?
    Presque, si on était pas Lundi matin et que j'avais pas passé un super Week-end, je serais vexé !

    Maintenant, je t'invite à cliquer sur le lien du topic, comme je l'ai fait et partir du principe que si c'est écrit en Anglais, c'est à peu prés aussi compréhensible que le Vulcanien ou le Centauri pour moi. Encore que, je parle mieux le Centauri. Mais en plus, dans la page qui s'ouvre y a même pas de référence à la manipualtion des images.

    tomlev, je teste ta contribution dans l'aprés midi et je reveins soit avec des questions subsidiaires, soit pour les remerciements et la cloture du topic.

  5. #5
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Le fait que ce soit en anglais ne devrait pas être une barrière en informatique, sinon concernant le lien, il a en effet été modifié en http://labs.insert-title.com/Quick-W...rticle832.aspx , mais c'était pas compliqué à retrouver.

    Amuse toi bien

  6. #6
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Aprés une petite semaine de crève, me revoilou.

    Donc j'ai essayé vos deux méthodes, somme tout assez similaire

    Avec celle de Tomlev j'ai une erreur que je n'arrive à pas a détecter : "une erreur c'est produite dans GDI+"

    Avec celle de Poulain, y a pas d'erreur, mais y a pas de filigrane non plus !
    J'ai fait des modifications, bien sûr, et peut être que cela vient de là. Je vous soumet mon code :
    Dans une classe externe :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Imports Microsoft.VisualBasic
    Imports System.Drawing
    Imports System.Drawing.Imaging
    Imports System.Drawing.Drawing2D
    Imports System.IO
     
    Namespace ProjetY
     
        Public Class TraitementImage
     
            Public Shared Sub AjoutFiligrane(ByRef img As Image)
                Dim Width, Height, shadowSize As Integer
                Dim Bitmap As System.Drawing.Bitmap
                Dim ImgFormat As ImageFormat
                Dim baseMap As Bitmap
                Dim top, left As Integer
     
                Dim letterBrush As SolidBrush = New SolidBrush(Color.FromArgb(50, 255, 255, 255))
                Dim shadowBrush As SolidBrush = New SolidBrush(Color.FromArgb(50, 0, 0, 0))
                Dim fontTitle As Font = New Font("tahoma", 20, FontStyle.Bold)
                ImgFormat = ImageFormat.Jpeg : HttpContext.Current.Response.ContentType = "image/jpeg"  ' Default=jpeg '
                Width = img.Width
                Height = img.Height
                baseMap = New Bitmap(Width, Height)
                Dim myGraphic As Graphics = Graphics.FromImage(baseMap)
                With myGraphic
                    .DrawImage(img, 0, 0, Width, Height)
                    .SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
                    .DrawString("LABS.INSERT-TITLE.COM", fontTitle, shadowBrush, 5, 60)
                    .DrawString("LABS.INSERT-TITLE.COM", fontTitle, letterBrush, 7, 62)
                End With
                'img.Dispose()
     
            End Sub
     
        End Class
    End Namespace
    et dans le CodeBehind de mon composant qui gère les photos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    fullSizeImg = Image.FromFile(NomCheminPhoto)
    ProjetY.TraitementImage.AjoutFiligrane(fullSizeImg)
    Ayant bien sûr fait un Imports de System.Drawing en haut du composant.
    La variable NomCheminPhoto contient le chemin complet, calculé en amont et fonctionne trés correctement puisque le fichier se retrouve bien sur le dsique du serveur.

    Enfin, sur l'anglais : c'est un débat que j'ai déjà eu il y a deux ans avec LuteceFalco et sur lequel j'ai évolué, un peu. Je fais partie de ces informaticien (car le mot a encore une sens pour moi) qiu sont tombé dedans étant petit. Le premier ordinateur que j'ai vu et utilisé j'avais 11 ans, en 6° en 1981. La vie, grâce à sa magie, m'a fais sortir de l'école en 3°, du coup, l'Anglais, zwip....

    Et maintenant, j'ai cravaché, j'ai un nieau d'ingénieur, mais toujours pas d'anglais. Mais je dis que, vu que je ne travaille qu'en Franc eet qu'avec des Français, plus ou moins francophone (vu comment certains s'expriment à l'oral et à l'écrit, parfois j'en doute....) pourquoi est ce que je pèterais les neurones à inculquer une langue qui n'est pas la mienne.
    Certains sont doué naturellment pour les langues, moi j'y arrive pas. Exemple qiu n'a rien à voir : le Breton ! Pourtant j'aime la Bretagne, vraiment, mais le Breton, ça fais quatre ans que j'essaie et je parle toujours pas, ça ne rentre pas.

    Donc, non, l'anglais n'ai pas naturel chez les informaticiens. L'anglais c'est une barrière chez les gens qui ne le parle pas, tout simplement.

    Voilà, on referme cette paranthèse.

    Merci à vous.

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

Discussions similaires

  1. Manipuler des fichiers Excel avec Perl
    Par Buboba dans le forum Modules
    Réponses: 2
    Dernier message: 04/09/2012, 13h54
  2. manipuler des fichier xml avec jdom
    Par sagon dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 02/07/2011, 19h34
  3. manipulation des fichier xsl avec vba excel
    Par naim8622 dans le forum Excel
    Réponses: 1
    Dernier message: 23/01/2009, 00h13
  4. Manipulation des fichiers XML avec Pl/SQL
    Par wislam2007 dans le forum PL/SQL
    Réponses: 0
    Dernier message: 12/09/2008, 04h10
  5. Manipuler des fichiers xls avec c++
    Par 151085 dans le forum Visual C++
    Réponses: 2
    Dernier message: 27/08/2007, 15h18

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