.NET Framework 3.5 SP1已经装了一阵子了,一直没时间试一下效果,只听介绍说WPF的运行速度提高了35%左右,这个才是我想要的,WPF速度太慢了,所以我才装它,再好的显卡和CPU运行再简单的效果都让人纠结,那种有节奏性的延迟真的会把人弄成心急梗塞,为了看看微软有没有吹大牛,加上今天有空我想测试一下它的效果,为了达到最佳效果,我给VS2008也打上SP1,做了个很简单的软件,从Bing和Google提供的API搜索图片进行分类保存,然后进行拖放,分别在传统窗体和透明窗体(AllowsTransparency=true)下运行,传统窗体和Windows from速度差不多,搜索图片和显示很快,但是拖拽有点卡,尤其是遇到PNG和GIF图片,去掉图片的阴影和边框就好了,可能是PNG和GIF图片对BitmapEffect优化不行,遇到透明PNG和GIF时,有点延迟,本想拿到一台没有打SP1的机器上对比一下效果,我已经没心情了,修改一下程序后,放在完全透明的窗体(布局也透明了,就剩图片控件了)下运行,运行就慢很多了,不过搜索仍然很快,但鼠标悬停在控件上的效果,延迟达到1秒左右,拖拽不用说了,简置就是Bull shit。

还有一个问题AllowsTransparency=true时居然,WPF新增控件WebBrowser居然仍然是一片空白,真的让人失望,居然把这个问题遗留下来了,我甚至怀疑这是微软的开发人员偷懒直接从windows form那边把WebBrowser拿过来的。
上一篇讲到了用图片水印,现在来说一下文字水印,同样使用ImageYing对象来生成,这个对像在WQ.Web名称空间下,没有这个对象的请先下载wq.dll(更多关于wq.dll信息,请参见wq内裤)。我们先给一张图片加上文字水印:

System.Drawing.Font font = new System.Drawing.Font("Arial", 18);
System.Drawing.Color fc = System.Drawing.Color.FromArgb(150, 255, 255, 255);
WQ.Web.ImageYing img = new WQ.Web.ImageYing(Server.MapPath("~/upfile/image.jpg"));//创建水印对象
img.TextColor = fc;//水印文字颜色
img.Font = font;//水印文字字体样式和大小
img.TextLeft = 10;//水印文字x坐标
img.TextTop = 10;//水印文字y坐标
img.Text = "Windows 7";/水印文字内容
img.Save(Server.MapPath("mac.jpg"));//保存水印文字
如果你不想保存图片,而是要直接输出图片,可以这样:
Response.ClearContent();
Response.BinaryWrite(img.getImageStream().ToArray());
也可以,文字和图片,一起做水印,甚至将文字旋转:
分页: