protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AddTextToImg("./images/home1.jpg",0);
}
}
private void AddTextToImg(string fileName,int count)
{
if (!File.Exists(MapPath(fileName)))
{
throw new FileNotFoundException("The file don't exist!");
} System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(fileName));
Bitmap bitmap = new Bitmap(image, image.Width, image.Height);
Graphics g = Graphics.FromImage(bitmap);
string strsql = "select categoryName from old_Category";
string strwhere = "pid=1";
float rectY = 192f;
DataSet ds = Dbhelper.SQLHelper.GetDataSetWhere(strsql, strwhere);
for (int i = count + 1; i <= ds.Tables[0].Rows.Count; i = ++)//count + 1
{
string text = ds.Tables[0].Rows[i-1]["categoryName"].ToString();
float fontSize = 20.0f; //字体大小
float textWidth = text.Length * fontSize; //文本的长度
//下面定义一个矩形区域,以后在这个矩形里画上白底黑字
float rectWidth = text.Length * (fontSize + 8);
float rectHeight = fontSize + 8;
RectangleF textArea = new RectangleF(140, rectY, 360, 230);//声明矩形域
Font font = new Font("黑体", fontSize);//定义字体
Brush whiteBrush = new SolidBrush(Color.Black);//黑笔刷,画背景用
g.DrawString(text, font, whiteBrush, textArea);
rectY += 60;
if (i % 4 == 0)
{
int a = i / 4;
bitmap.Save("F:\\"+a+".jpg", ImageFormat.Jpeg);
g.Dispose();
bitmap.Dispose();
image.Dispose();
rectY = 192f;
AddTextToImg("./images/home1.jpg",a*4);
}
} //MemoryStream ms = new MemoryStream();
//保存为Jpg类型
int end = (Convert.ToInt32(ds.Tables[0].Rows.Count) / 4) + 1;
bitmap.Save("F:\\"+end+".jpg", ImageFormat.Jpeg); //输出处理后的图像,这里为了演示方便,我将图片显示在页面中了
Response.Clear();
Response.ContentType = "image/jpeg";
//Response.BinaryWrite(ms.ToArray()); g.Dispose();
bitmap.Dispose();
image.Dispose();
}
{
if (!IsPostBack)
{
AddTextToImg("./images/home1.jpg",0);
}
}
private void AddTextToImg(string fileName,int count)
{
if (!File.Exists(MapPath(fileName)))
{
throw new FileNotFoundException("The file don't exist!");
} System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(fileName));
Bitmap bitmap = new Bitmap(image, image.Width, image.Height);
Graphics g = Graphics.FromImage(bitmap);
string strsql = "select categoryName from old_Category";
string strwhere = "pid=1";
float rectY = 192f;
DataSet ds = Dbhelper.SQLHelper.GetDataSetWhere(strsql, strwhere);
for (int i = count + 1; i <= ds.Tables[0].Rows.Count; i = ++)//count + 1
{
string text = ds.Tables[0].Rows[i-1]["categoryName"].ToString();
float fontSize = 20.0f; //字体大小
float textWidth = text.Length * fontSize; //文本的长度
//下面定义一个矩形区域,以后在这个矩形里画上白底黑字
float rectWidth = text.Length * (fontSize + 8);
float rectHeight = fontSize + 8;
RectangleF textArea = new RectangleF(140, rectY, 360, 230);//声明矩形域
Font font = new Font("黑体", fontSize);//定义字体
Brush whiteBrush = new SolidBrush(Color.Black);//黑笔刷,画背景用
g.DrawString(text, font, whiteBrush, textArea);
rectY += 60;
if (i % 4 == 0)
{
int a = i / 4;
bitmap.Save("F:\\"+a+".jpg", ImageFormat.Jpeg);
g.Dispose();
bitmap.Dispose();
image.Dispose();
rectY = 192f;
AddTextToImg("./images/home1.jpg",a*4);
}
} //MemoryStream ms = new MemoryStream();
//保存为Jpg类型
int end = (Convert.ToInt32(ds.Tables[0].Rows.Count) / 4) + 1;
bitmap.Save("F:\\"+end+".jpg", ImageFormat.Jpeg); //输出处理后的图像,这里为了演示方便,我将图片显示在页面中了
Response.Clear();
Response.ContentType = "image/jpeg";
//Response.BinaryWrite(ms.ToArray()); g.Dispose();
bitmap.Dispose();
image.Dispose();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货