c# 生成文字图片和合并图片的示例
生成文字图片:
//////生成文字图片 /// ////// /// publicImageCreateImage(stringtext,boolisBold,intfontSize) { intwid=400; inthigh=200; Fontfont; if(isBold) { font=newFont("Arial",fontSize,FontStyle.Bold); } else { font=newFont("Arial",fontSize,FontStyle.Regular); } //绘笔颜色 SolidBrushbrush=newSolidBrush(Color.Black); StringFormatformat=newStringFormat(StringFormatFlags.NoClip); Bitmapimage=newBitmap(wid,high); Graphicsg=Graphics.FromImage(image); SizeFsizef=g.MeasureString(text,font,PointF.Empty,format);//得到文本的宽高 intwidth=(int)(sizef.Width+1); intheight=(int)(sizef.Height+1); image.Dispose(); image=newBitmap(width,height); g=Graphics.FromImage(image); g.Clear(Color.White);//透明 RectangleFrect=newRectangleF(0,0,width,height); //绘制图片 g.DrawString(text,font,brush,rect); //释放对象 g.Dispose(); returnimage; }
合并图片:
//////合并图片 /// ////// /// publicstaticBitmapCombinImage(ImageimgBack,Imageimg,intxDeviation=0,intyDeviation=0) { Bitmapbmp=newBitmap(imgBack.Width,imgBack.Height+img.Height); Graphicsg=Graphics.FromImage(bmp); g.Clear(Color.White); g.DrawImage(imgBack,0,0,imgBack.Width,imgBack.Height);//g.DrawImage(imgBack,0,0,相框宽,相框高); //g.FillRectangle(System.Drawing.Brushes.White,imgBack.Width/2-img.Width/2-1,imgBack.Width/2-img.Width/2-1,1,1);//相片四周刷一层黑色边框 //g.DrawImage(img,照片与相框的左边距,照片与相框的上边距,照片宽,照片高); g.DrawImage(img,imgBack.Width/2-img.Width/2+xDeviation,imgBack.Height+yDeviation,img.Width,img.Height); GC.Collect(); returnbmp; }
//////Resize图片 /// ///原始Bitmap /// 新的宽度 /// 新的高度 /// 保留着,暂时未用 /// 处理以后的图片 publicstaticImageResizeImage(Imagebmp,intnewW,intnewH,intmode) { try { Imageb=newBitmap(newW,newH); Graphicsg=Graphics.FromImage(b); //插值算法的质量 g.InterpolationMode=InterpolationMode.HighQualityBicubic; g.DrawImage(bmp,newRectangle(0,0,newW,newH),newRectangle(0,0,bmp.Width,bmp.Height), GraphicsUnit.Pixel); g.Dispose(); returnb; } catch { returnnull; } }
MemoryStream保存到图片
Bitmapbmp=CombinImage(ms,img1); MemoryStreamms=newMemoryStream(); bmp.Save(ms,ImageFormat.Png);
以上就是c#生成文字图片和合并图片的示例的详细内容,更多关于c#生成文字图片和合并图片的资料请关注毛票票其它相关文章!