Pesquisa

segunda-feira, 3 de janeiro de 2011

Gerar imagem com texto

Gerar imagem com texto personalizado.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="gerar-imagem.aspx.cs" Inherits="gerar_imagem" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox runat="server" ID="Text" />
<br>
<br>
<asp:DropDownList runat="server" ID="BackgroundColor">
<asp:ListItem Value="red">Red</asp:ListItem>
<asp:ListItem Value="green">Green</asp:ListItem>
<asp:ListItem Value="navy">Navy</asp:ListItem>
<asp:ListItem Value="orange">Orange</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList runat="server" ID="Font">
<asp:ListItem Value="Arial">Arial</asp:ListItem>
<asp:ListItem Value="Verdana">Verdana</asp:ListItem>
<asp:ListItem Value="Courier">Courier</asp:ListItem>
<asp:ListItem Value="Times New Roman">Times New Roman</asp:ListItem>
</asp:DropDownList>
<br>
<br>
<asp:Button runat="Server" ID="SubmitButton" Text="Gerar Imagem" />
</div>
</form>
</body>
</html>



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Drawing.Text;
using System.Drawing.Imaging;

public partial class gerar_imagem : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(Page.IsPostBack)
{
Bitmap oBitmap = new Bitmap(468, 60);
Graphics oGraphic = Graphics.FromImage(oBitmap);
System.Drawing.Color oColor = new Color();

String sColor = Request["BackgroundColor"];
String sText = Request["Text"];
String sFont = Request["Font"];

switch (sColor)
{
case "red":
oColor = Color.Red;
break;
case "green":
oColor = Color.Green;
break;
case "navy":
oColor = Color.Navy;
break;
case "orange":
oColor = Color.Orange;
break;
default:
oColor = Color.Gray;
break;
}
SolidBrush oBrush = new SolidBrush(oColor);
SolidBrush oBrushWrite = new SolidBrush(Color.White);

oGraphic.FillRectangle(oBrush, 0, 0, 468, 60);
oGraphic.TextRenderingHint = TextRenderingHint.AntiAlias;

Font oFont = new Font(sFont, 13);
PointF oPoint = new PointF(5, 5);

oGraphic.DrawString(sText, oFont, oBrushWrite, oPoint);

oBitmap.Save(Server.MapPath("gen_img.jpg"), ImageFormat.Jpeg);

Response.Write("Imagem gerada <a target=\"_blank\" href=\"gen_img.jpg\">aqui</a>");
}
}
}



Nenhum comentário:

Postar um comentário