vb.net绘图问题

[复制链接]
查看11 | 回复1 | 2021-1-27 07:11:35 | 显示全部楼层 |阅读模式
我想要把一段文字绘制成图片,字体,字号,文字都是动态获得的,最后成图的要求是背景必须与前面的文字是一样大的!

各位这个是不是要先获取到文字段的长宽然后再绘制背景图片,再把文字绘制到背景图片上接着合成一张图片呢?stringstr="hello";
Graphicsg=Graphics.FromImage(newBitmap(1,1));
Fontfont=newFont("宋体",9);
SizeFsizeF=g.MeasureString(str,font);//测量出字体的高度和宽度
Brushbrush;//笔刷,颜色
brush=Brushes.Lime;
PointFpf=newPointF(0,0);
Bitmapimg=newBitmap(Convert.ToInt32(sizeF.Width),Convert.ToInt32(sizeF.Height));
g=Graphics.FromImage(img);
g.DrawString(str,font,brush,pf);
//输出图片
MemoryStreamms=newMemoryStream();
img.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
Response.BinaryWrite(ms.ToArray());
有人给了我一段C的代码来解决,可是这个弄出来的背景依然会比文字大一些,请问各位高手有什么办法来处理这个问题么?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:11:35 | 显示全部楼层
这个只有画完了以后根据像素判断裁剪了。
因为不同的文字尺寸不同。你用的几个字没有占满,不等于字库中的所有字都这么大。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行