源代碼下載:http://www.shareidea.net/opensource.htm
在線演示:http://www.shareidea.net/workflow.htm
視頻教程: http://www.shareidea.net/video/sharedesigner/sharedesigner.html
在上篇文章中,韋恩卑鄙提出了silverlight3.0版本中增加了本地動態生成圖片的方法,我又搜索了一下,的確可以了,您可以訪問http://developer.51cto.com/art/200903/115552.htm查看詳細信息,特此感謝韋恩卑鄙。
上文已經搭建除了一個生成圖片的框架,但是還沒有完成具體的代碼,本章將繼續上一章的內容。本章內容很簡單,如果您不想往下繼續看了,請下載源代碼看一下實際效果吧。
九、動態生成流程圖片
9.4 生成圖片
為了動態生成圖片,我們需要使用到兩個主要的類:
l Bitmap:是用於處理由像素數據定義的圖像的對象,它封裝 GDI+ 位圖,此位圖由圖形圖像及其屬性的像素數據組成。
l Graphics:它封裝一個 GDI+ 繪圖圖面。我們主要使用這個提供的各種方法來繪制矩形,橢圓,直線,文字等。
根據上節的內容,我們需要根據從客戶端傳遞過來的工作流xml描述文件生成一個對應的圖片,這個xml文件具體描述了工作流的圖形屬性,包括容器圖形,活動圖形和規則圖形。對應的,我們也需要設計三個類,分別表示容器,活動和規則的圖形,然後分析xml文件,創建一個容器,並且根據xml文件創建相應的規則和活動。
9.4.1 容器類
容器類比較簡單,包含四個屬性:
l Width:容器寬。
l Height:容器高。
l RulePictureCollection:規則集合。
l ActivityPictureCollection:活動集合。