各位大哥!小弟最近研究GDI+看了很多例子大部分都是单纯的用Graphics画图的问题,例如下面的代码:
Bitmap mymap = new Bitmap(400, 400);
Graphics mygrap = Graphics.FromImage(mymap);
mygrap.Clear(Color.White); FontFamily ff = new FontFamily("Arial");//设置字体
Font myfont = new Font(ff, 10, System.Drawing.FontStyle.Bold);//设置字体样式
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;//字体局中对齐
System.Drawing.Rectangle r = new System.Drawing.Rectangle(120, 40, 100, myfont.Height * 3);//字的范围框
mygrap.DrawString("Hello World!2008/02/01", myfont, Brushes.Black, r, sf);//输出字体
Response.ContentType = "image/jpeg";
mymap.Save(Response.OutputStream, ImageFormat.Jpeg); mygrap.Dispose();
mymap.Dispose();
如上代码,执行后图片是默认在页面的最左上角为起点开始的一个400*400的图片,可是现在我想设置一下图片的显示位置,例如从页面的中间显示我要输出的图片,要怎么设置呢?
还有一个问题,如果我现在在图片上画出了两个字符串“str1”和“str2”,当画完后,我想通过在页面上点击一个按钮然后擦掉“str2”只保留“str1”请问GDI+能做到吗?或者是要整个都得重新画?
谢谢给我大哥指点了!
Bitmap mymap = new Bitmap(400, 400);
Graphics mygrap = Graphics.FromImage(mymap);
mygrap.Clear(Color.White); FontFamily ff = new FontFamily("Arial");//设置字体
Font myfont = new Font(ff, 10, System.Drawing.FontStyle.Bold);//设置字体样式
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;//字体局中对齐
System.Drawing.Rectangle r = new System.Drawing.Rectangle(120, 40, 100, myfont.Height * 3);//字的范围框
mygrap.DrawString("Hello World!2008/02/01", myfont, Brushes.Black, r, sf);//输出字体
Response.ContentType = "image/jpeg";
mymap.Save(Response.OutputStream, ImageFormat.Jpeg); mygrap.Dispose();
mymap.Dispose();
如上代码,执行后图片是默认在页面的最左上角为起点开始的一个400*400的图片,可是现在我想设置一下图片的显示位置,例如从页面的中间显示我要输出的图片,要怎么设置呢?
还有一个问题,如果我现在在图片上画出了两个字符串“str1”和“str2”,当画完后,我想通过在页面上点击一个按钮然后擦掉“str2”只保留“str1”请问GDI+能做到吗?或者是要整个都得重新画?
谢谢给我大哥指点了!
mymap.Save(Response.OutputStream, ImageFormat.Jpeg);
不要保存到response,保存到文件里,显示的时候做个网页文件,想放哪儿就哪儿