發表文章

目前顯示的是 5月, 2012的文章

Flex - 使用 Graphics 來描繪文字

圖片
在 Flex 中 Graphics 提供了繪畫的功能,但並不提供描繪文字的 Method,那如需描繪文字時需如何使用呢?下面提供簡單的程式碼以供參考. public function drawText(text:String, useDefaultFormat:Boolean = true, format:TextFormat = null):BitmapData { var uit:UITextField = new UITextField(); uit.defaultTextFormat = useDefaultFormat ? defaultFormat : format; var tf:UITextFormat = uit.getUITextFormat(); var tlm:TextLineMetrics = tf.measureText(text); uit.width = tlm.width; uit.height = tlm.height; uit.text = text; var bitmapData:BitmapData = ImageSnapshot.captureBitmapData(uit); return bitmapData; } 上面的 Method 是把 UITextField 的 Component 擷圖,再透過下面的程式碼來達成描繪文字的功能. bitmapData = drawText(axisData.name); g.graphics.beginBitmapFill(bitmapData, matrix, false); g.graphics.drawRect(x, y, bitmapData.width, bitmapData.height); g.graphics.endFill(); 那畫面如下所示:

Flex – Mouse Event 之 Scope 的描繪(續)

圖片
在之前的文章中提供了一個簡單的方式來描繪 Mouse Down 時拖拉會出現的Scope,在此提供另一種方式來實作此部份的功能. 首先建立一 Component ,那其內容如下所示: <?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="creationCompleteHandler(event)" > <fx:Script> <![CDATA[ import mx.events.FlexEvent; private var rectangle:Rectangle = new Rectangle(); private var tracking:Boolean = false; private var startX:Number; private var startY:Number; public var selectedResult:Function; protected function creationCompleteHandler(event:FlexEvent):void { this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); this.addEventListener(MouseEvent.MOUSE_UP, mouse...

SQL Server – Client 連接非 Default Protocol

圖片
當 SQL Server 使用的 Protocol 並不是預設時,在使用 UI 的 ConnectionString 需如何設定才能連接至此 Server 呢? 在 IPAddress 之後加入 “,” 才接 Protocol 如下所示:

Java – Hibernate Annotation 中 BLOB, CLOB 的寫法

在 Hibernate Annotation 中 BLOB, CLOB 類型的注解與普通的屬性有些不同. BLOB類型聲明為 byte[] private byte[] content; Java Bean: @Lob @Basic(fetch = FetchType.LAZY) @Column(name = "CONTENT", columnDefinition = "BLOB",nullable=true) public byte[] getContent() { return this.content; } public void setContent(byte[] content) { this.content = content; } CLOB類型聲明為String private String remark; Java Bean: @Lob @Basic(fetch = FetchType.EAGER) @Column(name="REMARK", columnDefinition="CLOB", nullable=true) public String getRemark() { return this.remark; } public void setRemark(String recvdocRemark) { this.remark = remark; } 故 mapping 完成後即可直接存取 Oracle 中的 BLOB, CLOB 類型的資料.

Silverlight – Color 對映表

圖片
記錄一下 Silverlight 中 Color 對映表.方便以後再找 Color 時使用.

IIS 7 - 整合 Window 網域認證

圖片
在 IIS 6 中設定整合 Window 網域認證是很容易的一件事.只要在 Directory Security 中把 Enable anonymous access 給 Disabled,再把 Integrated Windows authentication 給勾選及 Basic authentication 也勾選,再填上 Default domain 即可. 那相對應的在 IIS 7 中要如何設定呢?在 IIS Section 中有個驗證的項目,如下圖所示: 必需把匿名驗證給 disabled,Windows 驗證及摘要式驗證給 Enabled,即可使用 IIS 整合 Window 網域.最後設定如下面所示: 在第一次登入網站時,就會彈跳出視窗來輸入 Account & Password.

Silverlight–Theme 的使用

圖片
在 Silverlight Toolkit 中提供了數種 Theme 供開發人員使用,但如何使用這些呢? 1.  在 App() 中加入下面的程式碼. System.Windows.Controls.Theming.Theme.SetApplicationThemeUri(App.Current, new Uri("/System.Windows.Controls.Theming.BubbleCreme;component/Theme.xaml", UriKind.Relative)); 此部份可套用在所有的 .xaml 中,也包含了 ChildWindow 的部份. 2. 使用 XAML 語法描述,程式碼如下所示: <toolkit:Theme x:Name="theme" ThemeUri="/System.Windows.Controls.Theming.BubbleCreme;component/Theme.xaml"> 此部份只會套用包含在它之內的 Childern. 3. 使用 VS2010 Toolkit 中拖拉所需的 Theme. 這三種方法擇一台即可使用 Silverlight Toolkit 所提供的 Theme.

Silverlight – Translate Object To Picture

在 Silverlight 中可以把任何繼承 FrameworkElement 的 Object 擷取為 Picture.下面的程式碼為轉換 FrameworkElement 的 Object 為 Picture. public static WriteableBitmap Build(FrameworkElement element) { WriteableBitmap b = new WriteableBitmap(Convert.ToInt32(Math.Ceiling(element.ActualWidth)), Convert.ToInt32(Math.Ceiling(element.ActualHeight))); b.Render(element, null); b.Invalidate(); return b; } 再透過 codeplex 中 .NET Image Tools 的 Open Source,皆可轉換成 PNG, JPG, BMP, GIF Format,最後使用 SaveFileDialog 的 Library ,即可把 picture 儲存下來.

ASP.NET - EPPlus 產生 Excel 時發生 Exception 的處理.

EPPlus 真的是一個不錯的 Open Source 的 Library,可以讓 programmer 很容易的產生 Excel 2007 的格式.最近使用 EPPlus 來產生 Excel File 時,居然會有 Exception 的發生,此部份是因為 EPPlus 在產生 Excel 時會使用到 User Folder 中的 Template Folder 來暫存檔案,可是 IIS 又是使用匿名登入,故無 Login User 的 Folder,所以才發生 Exception. 目前所想到的方法是在 Web.config 中加入 identity 這個項目來指定此 Web Application 是使用那一 Account 的權限來執行. <system.web> <compilation debug="true" targetFramework="4.0" /> <httpRuntime executionTimeout="240" maxRequestLength="20480" /> <identity impersonate="true" userName="domain\account" password="password" /> </system.web>