ASPJPEG组件的bug
在一个项目中,我使用了aspjpeg组件来实现生产电子请帖的功能,也就是将数据库中的动态文字信息输出到一张背景图片上面,再生产新的jpg图片。
功能很简单,实现也不难。对于英文信息完全达到了我的预期要求。可是对于中文信息却出现了非常奇怪的现象。每行中文都只正确显示了其中的7个中文字符,后面的没有输出。
为了验证问题究竟出现在哪里,我写了一段代码进行测试:
功能很简单,实现也不难。对于英文信息完全达到了我的预期要求。可是对于中文信息却出现了非常奇怪的现象。每行中文都只正确显示了其中的7个中文字符,后面的没有输出。
为了验证问题究竟出现在哪里,我写了一段代码进行测试:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
ASPJPEGLib.IASPJpeg objJpeg = new ASPJPEGLib.ASPJpegClass();
//首先打开一张背景图片
objJpeg.Open(@"e:\jimyhsu.jpg");
//设置字体大小和颜色等属性
objJpeg.Canvas.Font.Color = 0xffffff;
objJpeg.Canvas.Font.Family = "Times New Roman";
objJpeg.Canvas.Font.Bold = 1; // true
objJpeg.Canvas.Font.Size = 17;
//开始输出文字
string text = "欢迎进入忧郁的天空灰色的世界";
objJpeg.Canvas.Print( 20, 200, text, 134); //最后一个参数134表示以中文字符输出
//保存图片
objJpeg.Save(@"e:\test.jpg");
}
}
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
ASPJPEGLib.IASPJpeg objJpeg = new ASPJPEGLib.ASPJpegClass();
//首先打开一张背景图片
objJpeg.Open(@"e:\jimyhsu.jpg");
//设置字体大小和颜色等属性
objJpeg.Canvas.Font.Color = 0xffffff;
objJpeg.Canvas.Font.Family = "Times New Roman";
objJpeg.Canvas.Font.Bold = 1; // true
objJpeg.Canvas.Font.Size = 17;
//开始输出文字
string text = "欢迎进入忧郁的天空灰色的世界";
objJpeg.Canvas.Print( 20, 200, text, 134); //最后一个参数134表示以中文字符输出
//保存图片
objJpeg.Save(@"e:\test.jpg");
}
}
结果生成的图片如下:
证明还是只有7个中文字符被输出了,看来是这个组件的一个bug啊
另:我使用的是aspjpeg 1.3,不知道它最新的版本有没有解决这个bug