关于大量文字生成图片的问题,分不够再加,顶也有分啊~~
最近搞了个小说网站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
------解决方案--------------------顶!!!
------解决方案--------------------