Image imgPic = Image.FromFile(backGroundImgPath);
Graphics gPic = Graphics.FromImage(imgPic); Font font = new Font("微软雅黑", 14, FontStyle.Bold); gPic.DrawString(titleStr, font, new SolidBrush(Color.FromArgb(1, 77, 161)), new Point(20, 0)); imgPic.Save(System.Web.HttpContext.Current.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Bmp);这段代码错在哪里?每次运行提示一般性错误
设置为jpeg格式什么问题没有,但设置成bmp就报错
Graphics gPic = Graphics.FromImage(imgPic); Font font = new Font("微软雅黑", 14, FontStyle.Bold); gPic.DrawString(titleStr, font, new SolidBrush(Color.FromArgb(1, 77, 161)), new Point(20, 0)); imgPic.Save(System.Web.HttpContext.Current.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Bmp);这段代码错在哪里?每次运行提示一般性错误
设置为jpeg格式什么问题没有,但设置成bmp就报错
string fileName = @"E:\a.bmp";
PictureBox pb = new PictureBox();
this.Controls.Add(pb);
using (FileStream fs = new FileStream(fileName, FileMode.Open))
{
Bitmap bmp = Bitmap.FromStream(fs) as Bitmap;
pb.Image = new Bitmap(bmp.Width, bmp.Height);
Graphics g = Graphics.FromImage(pb.Image);
g.DrawImage(bmp, 0, 0);
g.Dispose();
}
pb.Image.Save(@"E:\a2.bmp"); 这样就没有异常了
Response.TransmitFile(@"d:\aa.jpg");Response.TransmitFile(@"d:\aa.bmp");http上不能直接输出bmp的
Bitmap bm = Bitmap.FromStream(fs) as Bitmap;
//Image imgPic = Image.FromFile(backGroundImgPath);
Graphics gPic = Graphics.FromImage(bm); Font font = new Font("微软雅黑", 14, FontStyle.Bold); gPic.DrawString(titleStr, font, new SolidBrush(Color.FromArgb(1, 77, 161)), new Point(20, 0)); bm.Save(System.Web.HttpContext.Current.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Bmp);
照代码改过,还是一样,另外,我这个是web form里面,希望直接输出到客户端
因为jpeg压缩得太历害了,字的周围被压得满是色斑,其实主要是想解决让文本变清晰的问题,虽然我也加了
gPic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear;
gPic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
gPic.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;这三条,但是输出结果还是一样,没什么起色,所以想求解
Bitmap bm = Bitmap.FromStream(fs) as Bitmap;
//Image imgPic = Image.FromFile(backGroundImgPath);
Graphics gPic = Graphics.FromImage(bm); Font font = new Font("微软雅黑", 14, FontStyle.Bold); gPic.DrawString(titleStr, font, new SolidBrush(Color.FromArgb(1, 77, 161)), new Point(20, 0)); ImageCodecInfo ici = ImageCodecInfo.GetImageEncoders()[1];
System.Drawing.Imaging.Encoder encoder = System.Drawing.Imaging.Encoder.Quality;
System.Drawing.Imaging.EncoderParameters encoderParameters = new EncoderParameters(1);
System.Drawing.Imaging.EncoderParameter encoderParameter = new EncoderParameter(encoder, 100L);
encoderParameters.Param[0] = encoderParameter; bm.Save(System.Web.HttpContext.Current.Response.OutputStream, ici, encoderParameters);
代码贴出来,也许以后有人用得着