aspnet 处理文字图片的一个问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 23:14:27
用 Bitmap imgOutput = new Bitmap(100,100,PixelFormat.Format32bppArgb);建立一个图片对象,
然后用 Graphics g = Graphics.FromImage(imgOutput);
g.Clear(Color.Transparent);

g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;

g.DrawString("北京航空航天大学宇航学员第3届全国人民代表大会开幕式", new Font("宋体", 60, FontStyle.Regular, GraphicsUnit.Pixel), new SolidBrush(Color.Black), new PointF(0, 0));输入了些文字内容,结果文字宽度超过的宽度就无法显示了,有办法将Bitmap的尺寸设置成AutoSize的么?
输入的文字内容太多了超过了imgOutput 对象的尺寸范围而无法显示了

根据输入文字的Length,字体的大小,去计算出每一个字的宽度,,iwidth
Length*iwidth 就得到 总宽度了,,,
以前做过这类图,,用的方法就是这样的。
然后实例bitmap的时候用上面计算得到的 宽度不就成了

没有AutoSize 的属性。。。

两种简单方法:
1、Bitmap 尺寸变大一点。。。
2、把字体变小一点

最简单的方法是不设宽度,试试看!

一般不改变底图大小,毕竟底图是你先画上去的,如果要改变大小必须重画底图。

建议你从文字入手,计算文字长度,然后超长的部分换行。

补充:

截取超过的字符,换行再写到图片上。

可以不用这种写文字的,算字符长度有点麻烦,你可以先有一张透明的固定大小的图片,先在这个图片上写哪些文字,在把这个图片和原始图片合并.这样可以判断哪张图宽,等等之类的.....