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 :

[C#][1.1] GDI+ et ASP.net


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut [C#][1.1] GDI+ et ASP.net
    Bonjour,

    j'utilise Visual studio 2003 sur XP service PACK 1 avec IIS

    Je veux créer une page asp.net qui génère des images dynamiquement à partir d’une image de base en y ajoutant par exemple une ligne rose.

    Après lecture des deux articles suivants :

    http://webman.developpez.com/articles/aspnet/gdi/
    et
    http://www.microsoft.com/france/msdn/info/info.asp?mar=/france/msdn/technologies/technos/asp/info/20030715-colorquant.html

    J’ai arrivé à écrire le bout de code suivant :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Drawing.Design;
    using System.Drawing.Drawing2D;
    using System.Drawing.Imaging;
    using System.Drawing.Printing;
    using System.Drawing.Text;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
     
    namespace testGenerationImage
    {
    	/// <summary>
    	/// Description résumée de WebForm1.
    	/// </summary>
    	public class WebForm1 : System.Web.UI.Page
    	{
    		protected System.Web.UI.WebControls.Button Button1;
     
    		private void Page_Load(object sender, System.EventArgs e)
    		{
    			// Placer ici le code utilisateur pour initialiser la page
    		}
     
    		#region Code généré par le Concepteur Web Form
    		override protected void OnInit(EventArgs e)
    		{
    			//
    			// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
    			//
    			InitializeComponent();
    			base.OnInit(e);
    		}
     
    		/// <summary>
    		/// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
    		/// le contenu de cette méthode avec l'éditeur de code.
    		/// </summary>
    		private void InitializeComponent()
    		{    
    			this.Button1.Click += new System.EventHandler(this.Button1_Click);
    			this.Load += new System.EventHandler(this.Page_Load);
     
    		}
    		#endregion
     
    		private void Button1_Click(object sender, System.EventArgs e)
    		{
     
    			System.Drawing.Image img = System.Drawing.Image.FromFile(@"c:\test.JPG");
    			System.Drawing.Graphics g = Graphics.FromImage(img);
    			g.DrawImage(img,10f,10f);
    			Rectangle rect = new Rectangle(30,70,100,60);
    			SolidBrush sb = new SolidBrush(Color.BurlyWood);
    			g.FillRectangle(sb,rect);
    			sb.Dispose();
    			img.Dispose();
    			g.Dispose();
    		}
    	}
    }
    Ce code il se compile correctement. Sans pour autant afficher ma figure qd je click sur le boutton1

    Je vois pas d’où peux venir le problème. Si vous pouvez et vous voudriez bien m’aider.
    Merci

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu dois sauver ton image sur le disque.
    Tu dois créer un control image qui pointera sur l'image sauvée sur le disque

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Effectivement la tu crées une image, mais tu n'en fais rien, alors elle ne s'affichera pas hein . Tu peux aussi eviter d'ecrire l'image sur le disque en faisant un petit HttpHandler pour une extension à toi, genre .img. Toute demande par le client de fichier .img passera par ton handler qui sera en charge de créer l'image et de la renvoyer. Ici une bonne explication de comment faire un handler : http://msdn.microsoft.com/library/de.../httphandl.asp

  4. #4
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut une erreur générique s'est produite dan GDI+
    Bonjour,
    J’ai choisi d'implémenter la première solution de lutecefalco, elle me parait plus facile.

    J’ai ecris le code suivant :

    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
     
    private void Button1_Click(object sender, System.EventArgs e) 
          { 
     
             System.Drawing.Image img = System.Drawing.Image.FromFile(@"c:\test.JPG"); 
             System.Drawing.Graphics g = Graphics.FromImage(img); 
             g.DrawImage(img,10f,10f); 
             Rectangle rect = new Rectangle(30,70,100,60); 
             SolidBrush sb = new SolidBrush(Color.BurlyWood); 
             g.FillRectangle(sb,rect); 
             img.save(Server.path("lol.jpg"),ImageFormat.Jpeg);
             sb.Dispose(); 
             img.Dispose(); 
             g.Dispose(); 
          }
    j'ai aussi modifié les droits d'acces au répértoire sous IIS

    j'ai autorisé
    la lecture
    l'ecriture
    l'exploration de fichier
    l'acces au journal
    et l'indexation des ressources.


    mais j'au un probleme,
    asp.net me sort "une erreur générique s'est produite dan GDI+"

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    A quel user t'as donné ces droits?

  6. #6
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut
    les autorisations je les ai mis à tout le monde.
    j'ai fait ce qui suit:
    click droit sur mon projet dans le menu de l'application Services Internet
    puis dans le fenetre qui apparait, j'ai choisi repertoire.

    puis j'ai coché tout.

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Va dans l'explorateur de dossiers.
    Fais un clic droit sur le dossier de ton site web, ajoute le user ASPNET et donne lui les droits

  8. #8
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut Merci
    http://www.developpez.net/forums/viewtopic.php?t=444793

    sur ce lien pour les gens qui n'arrive pas à trouver l'onglet sécurité.

    merci beacoup et ça marche.

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

Discussions similaires

  1. Choisir PHP ou ASP.NET ?
    Par discogarden dans le forum Général Conception Web
    Réponses: 81
    Dernier message: 31/12/2009, 18h11
  2. [Asp.net/Vb.net] Probleme GDI / redimmensionner img
    Par NameX dans le forum ASP.NET
    Réponses: 0
    Dernier message: 01/12/2009, 16h17
  3. Réponses: 2
    Dernier message: 10/10/2008, 00h37
  4. Driver postgre pour asp.net
    Par vonbier dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 02/10/2003, 13h35

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