日期:2014-05-18  浏览次数:20527 次

关于大量文字生成图片的问题,分不够再加,顶也有分啊~~
最近搞了个小说网站www.zxnovel.cn
在做VIP章节部分的时候,遇到一个问题,由于VIP章节要用图片来显示   ,我就想用生成验证码图片的方法   来生成章节图片。用的代码如下:
                Bitmap   Img   =   null;
                Graphics   g   =   null;
                MemoryStream   ms   =   null;

                Img   =   new   Bitmap(900,   2500);
                g   =   Graphics.FromImage(Img);//从Img对象生成新的Graphics对象  

                g.Clear(Color.Wheat);
                Font   f   =   new   Font( "Arial   Black ",   10);//生成Font类的实例  
                SolidBrush   s   =   new   SolidBrush(Color.DodgerBlue);//生成笔刷类的实例  
                StringFormat   sf   =   new   StringFormat();
                sf.FormatFlags   =   StringFormatFlags.NoWrap;
                g.DrawString(content,   f,   s,   0,   0,   sf);//将VNum写入图片中  
                ms   =   new   MemoryStream();//生成内存流对象  
                Img.Save(ms,   ImageFormat.Gif);//将此图像以Png图像文件的格式保存到流中  
                Response.ClearContent();//更改http   ContentType  
                Response.ContentType   =   "image/Gif ";
                Response.BinaryWrite(ms.ToArray());//将整个二进制流的内容写入字节数组  
                //回收资源  
                g.Dispose();
                Img.Dispose();
                Response.End();

现在遇到的问题如下:
1、遇到大量文本时,不知道该实例化多少大小的Bitmap实例:Img   =   new   Bitmap(900,   2500);
2、生成的图片中,文本不会自动折行,只有遇到\r\n标记时才会换行。
3、不知道怎么加上版权信息的水印。
4、如果想把图片生成为透明背景的样式,该   怎么实现。

注:现在小说网站中都是转载的小说,如果不小心触犯了哪位大大的版权,请在网站留言告之,我会删除的。没人气,所以只能借人气了,还请见谅。

------解决方案--------------------
ding
------解决方案--------------------
没有弄过,关注一下,期待高手来
------解决方案--------------------
up
------解决方案--------------------
我来回答第2点

RectangleF rf = new RectangleF(0, 0, 900, 2500);
StringFormat sf = new StringFormat();
sf.Trimming = StringTrimming.EllipsisCharacter;
g.DrawString(content, f, s, rf, sf);//将VNum写入图片中
------解决方案--------------------
解决上面的四个问题,就不要用生成验证码的方式生成图片,关于图片水印你网上找一下有的。
------解决方案--------------------
ding
------解决方案--------------------
顶!!!

------解决方案--------------------