Classe system.drawing ou comment dessiner avec asp.net

Contenu du snippet

Cette source sert d'exemple a la casse system.drawing qui et tres puissante et ce sert de GDI+, l'exemple qui est mis ici est tiré du site www.c2i.fr et aussi de l'aide du SDK qui est tres bien fait sur cette classe et que je vous conseille.
Cette source crée une image a partir de deux autres, Je rajoute une signature a la photo, pour que qd on me la pique il y ai tj mon adresse, la photo est ecrasé a cq fois que qqn demande la page.

Source / Exemple :


<%@ Page Language="VB" Debug="true"%>
<%@ import namespace="System.Drawing" %>
<script language="VB" runat="server">

Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dessineimage()										' creer ou ecrase le fichier photo_rendu.jpg
photo.ImageUrl = "photo_rendu.jpg"					' on associe la photo au controle		
End Sub

Sub Dessineimage()

'on charge une image avec l'image d'origine
Dim newImage As Drawing.Image = System.Drawing.Image.FromFile(server.MapPath("image3.jpg"))

'on crée cette image
Dim mB As New Bitmap(newImage)

'on crée le graphics
Dim g As Graphics = Graphics.FromImage(mB)

' meilleur qualité possible du graphique
g.SmoothingMode = Drawing.Drawing2D.SmoothingMode.HighQuality

'on charge une nouvelle image qui sera devant l'autre
Dim newImage2 As Drawing.Image = System.Drawing.Image.FromFile(server.MapPath("signature.png"))

'on dessine l'image2 chargé ou l'on veut dans le graphique
' voici la syntaxe minimale donné par le SDK 
	'Overloads Public Sub DrawImage( _
	'   ByVal image As Image, _
	'   ByVal point As Point _
	')
g.DrawImage(newImage2,275,400)

'on va faire un petit rectangle noir sur la photo
'voici la syntaxe minimale donné par le SDK 
	'Overloads Public Sub FillRectangle( _
	'   ByVal pen As Pen, _
	'   ByVal x As Integer, _
	'   ByVal y As Integer, _
	'   ByVal width As Integer, _
	'   ByVal height As Integer _
	')
' Create pen.
Dim blueBrush As New SolidBrush(Color.Blue)
g.FillRectangle(blueBrush,0,95,200,40)

'on peut aussi ecrire
'voici la syntaxe minimale donné par le SDK 
	'Overloads Public Sub DrawString( _
	'   ByVal s As String, _
	'   ByVal font As Font, _
	'   ByVal brush As Brush, _
	'   ByVal point As PointF _
	')
dim drawBrush  as new SolidBrush(Color.yellow)
Dim drawFont As New Font("Verdana", 16)
g.drawstring("www.monsite.fr.st",drawFont, drawBrush , 0,100)

'on sauvegarde l'image au format jpeg mais il existe plein d'autre format 
mB.Save(Server.MapPath("photo_rendu.jpg"), Imaging.ImageFormat.jpeg) 

End Sub

</script>
<html><body>
<form runat=server>
<asp:image id="photo" runat="server" Height="450px" Width="600px" /><br>
</form> 
</body></html>

Conclusion :


j'essaierai de completer la source pour que vous puissiez voir d'autres options, pour des question n'esitez pas ;)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.