[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:
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
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:
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+"