All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
ASP.NET开发经验(2):ASP.NET中的一些图形处理_[Asp.Net教程]

Writer: delv Article type: Programming skills(编程技巧) Time: 2014/1/23 3:11:55 Browse times: 379 Comment times: 0

ASP.NET开发经验(2):ASP.NET中的一些图形处理_[Asp.Net教程]


Head photo

Image
Go homepage
Upload pictures
Write articles

ASP.NET开发经验(2) --- ASP.NET中的一些图形处理_[Asp.Net教程] 如果大家用过 SharePoint Portal Server 2001,一定会记得增加型文件夹中的一些很不错的特性,如文档检出/检入、发布、审批流程等,其中最吸引我的就是它通过在文档的图标上加一个特别的标记,来表示文档的状态,如下图所示:

自己在做文档管理系统时,也借鉴了这种做法,其实和给图片加水印的作法类似,主要代码如下:

//取源图像
Image imgPhoto = Image.FromFile(sSourceFile);
Bitmap bmPhoto = new Bitmap(imgPhoto.Width, imgPhoto.Height, PixelFormat.Format24bppRgb);
bmPhoto.MakeTransparent();
//设置绘图面属性,呈现质量等
Graphics grPhoto = Graphics.FromImage(bmPhoto);
grPhoto.SmoothingMode = SmoothingMode.AntiAlias;
grPhoto.DrawImage( imgPhoto, new Rectangle(0, 0, imgPhoto.Width, imgPhoto.Height), 0, 0, imgPhoto.Width, mgPhoto.Height, GraphicsUnit.Pixel);


//打开要附加的水印图片
Image imgWatermark = new Bitmap(sWatermarkFile);
Bitmap bmWatermark = new Bitmap(bmPhoto);
bmWatermark.SetResolution(imgPhoto.HorizontalResolution, imgPhoto.VerticalResolution);
Graphics grWatermark = Graphics.FromImage(bmWatermark);

int xPosOfWm = imgPhoto.Width - imgWatermark.Width;
int yPosOfWm = imgPhoto.Height - imgWatermark.Height;

//画
grWatermark.DrawImage(imgWatermark,
new Rectangle(xPosOfWm,yPosOfWm,imgWatermark.Width,imgWatermark.Height),
0,
0,
imgWatermark.Width,
imgWatermark.Height,
GraphicsUnit.Pixel);

//保存最终图片
imgPhoto = bmWatermark;
imgPhoto.Save(sIconFileName,ImageFormat.Png);

如果文档有审阅流程,那文档的流转图就非常受欢迎了,这样用户可以方便地查看文档正处于那个阶段。
其实与工作流有关软件可能都有这样要求,我目前没有找到更好的办法,利用

,将各个阶段
用线条和图形表示出来,办法虽有点笨,但好象显示效果还不错。

曾经试过 VML ,发现要动态地画这种图,就得很精确地控制屏幕上位置,比较麻烦,后来放弃了这种作法。

还曾经想用 Visio Automation 来试一下,发现 Visio 的对象模型和 VBA 比 Word 和 Excel 的难多了,工作量更大。

来源:moslem的blog





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.