你的位置:首页 > ASP.net教程

[ASP.net教程]WPF GDI+ bitmap.save 一般性错误

做水印图片的时候,发现WPF的System.Windows.Shapes类有绘制直线,椭圆等形状。却没有绘字符串的类。

无奈之下又用回GDI+

发生的GDI+一般性错误初步估计的线程的原因。

在load事件加载不会出一般性错误。由于业务的要求,这个是放在一个定时刷新的事件里面。

用了 DispatcherTimer 与System.Timers.Timer都是无法解决这个问题。写了委托。也没用......当时心真的是凉了半截。折腾了4小时。

最后终于找到了下面那个把图片转换的方法。才搞定。。。。哎微软也真的是闲的蛋疼,技术更新的好恶心。乱七八糟的。

代码太多太复杂了就不抽出了。把重点贴上上来。

//导入背景
System.Drawing.Bitmap image = new System.Drawing.Bitmap(appStartupPath + @"\map.jpg");
//转化为画布
var g = Graphics.FromImage(image);
var b = new System.Drawing.Drawing2D.LinearGradientBrush(new System.Drawing.Rectangle(0, 0, image.Width, image.Height), System.Drawing.Color.Red, System.Drawing.Color.Red, 1.2f, true);

g.DrawString("test", f, b, (float)22.2, (float)33.3);

 

BitmapImage b1=BitmapToBitmapImage(image)

JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(b1));

FileStream fileStream = new FileStream(appStartupPath + @"\Temp333.jpg", FileMode.Create, FileAccess.ReadWrite);
encoder.Save(fileStream);
fileStream.Close();

 

 

/// <summary>
/// 转自http://blog.csdn.net/yxlnmj/article/details/5801842
/// </summary>
/// <param name="bitmap"></param>
/// <returns></returns>
public BitmapImage BitmapToBitmapImage(Bitmap bitmap)
{
Bitmap bitmapSource = new Bitmap(bitmap.Width, bitmap.Height);
int i, j;
for (i = 0; i < bitmap.Width; i++)
for (j = 0; j < bitmap.Height; j++)
{
System.Drawing.Color pixelColor = bitmap.GetPixel(i, j);
System.Drawing.Color newColor = System.Drawing.Color.FromArgb(pixelColor.R, pixelColor.G, pixelColor.B);
bitmapSource.SetPixel(i, j, newColor);
}
MemoryStream ms = new MemoryStream();
bitmapSource.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = new MemoryStream(ms.ToArray());
bitmapImage.EndInit();

return bitmapImage;
}

 


三亚旅游团购优惠三亚旅游线路报价三亚旅游指南攻略大全三亚旅游住哪里比较方便三亚旅游住宿攻略卢浮宫金字塔_卢浮宫玻璃金字塔_卢浮宫博物馆玻璃金字塔 魅影重现夏威夷 万圣节玩的就是胆量 卢浮宫门票_卢浮宫博物馆门票_法国卢浮宫门票价格 卢浮宫简介_卢浮宫博物馆简介_法国卢浮宫博物馆简介 九寨沟老虎海景点情况介绍 水龙节 洛带古镇图片 稻城亚丁雪莲花 富阳新沙岛景区票价?新沙岛景区要门票吗? 富阳新沙岛怎么去?新沙岛交通路线? 庐山桃花源小孩漂流需要注意什么?九江桃花源儿童漂流注意事项? 庐山桃花源漂流儿童票多少钱?九江桃花源漂流儿童门票价格? 珠海农科奇观花卉节有什么活动?2015珠海农科奇观花卉节活动介绍? 珠海农科奇观有郁金香和薰衣草吗?珠海农科奇观郁金香和薰衣草花期? 2015珠海农科奇观花卉节什么时间?珠海农科奇观花卉节具体时间? 我在云南过春节 甩掉大鱼大肉来一场苹果盛宴 MMBZ5223BLT1G Datasheet MMBZ5223BLT1G Datasheet MMBZ5223BLT1 Datasheet MMBZ5223BLT1 Datasheet BZX84C2V7LT1 Datasheet BZX84C2V7LT1 Datasheet 浙江旅游景点地图 浙江旅游景点地图 浙江旅游景点地图 浙江旅游景点介绍 浙江旅游景点介绍 浙江旅游景点介绍 浙江旅游景点门票 浙江旅游景点门票 浙江旅游景点门票