Buy Reviews
Powered by MaxBlogPress  

Archive for the ‘C#’ Category

想用C#寫出可以把浮水印崁入相片

星期二, 八月 31st, 2010點閱人數:5次

這是在伊莉討論區看到的一個問題,這個問題原本是要在照相手機中,將照片放入浮水印的,我覺得這個很很有趣也很實用,因為現在在網路上分享照片的部落格,幾乎都有用浮水印,當然浮水印功能的軟體太多了,不過可以自己寫的話成就感會滿大的!

當然C#不是我的專長,我查Google有[Winform, C#] 圖片格式轉換 及 浮水印 之範例製作,用Microsoft Visual C# 2010 Express實作測試OK!

對於C#生手的我們來說,應該要對程式做更多的註解才是。

Filter是OpenFileDialog的屬性,取得或設定目前的檔名篩選字串,以決定出現在對話方塊中 [另存檔案類型] 或 [檔案類型] 方塊的選項。

ShowDialog()是繼承自 CommonDialog,以預設的擁有人來執行通用對話方塊。

DialogResult.OK是DialogResult的一個列舉型別,他有一些成員:
成員名稱 說明
None 對話方塊傳回 Nothing這表示強制回應 (Modal) 對話方塊繼續執行。
OK 對話方塊的傳回值是 OK (通常由標記為 [確定] 的按鈕傳回)。
Cancel 對話方塊傳回值是 Cancel (通常由標記為 [取消] 的按鈕傳回)。
Abort 對話方塊傳回值是 Abort (通常由標記為 [中止] 的按鈕傳回)。
Retry 對話方塊傳回值是 Retry (通常由標記為 [重試] 的按鈕傳回)。
Ignore 對話方塊傳回值是 Ignore (通常由標記為 [忽略] 的按鈕傳回)。
Yes 對話方塊傳回值是 Yes (通常由標記為 [是] 的按鈕傳回)。
No 對話方塊傳回值是 No (通常由標記為 [否] 的按鈕傳回)。

ImageLocation,取得或設定要在 PictureBox 中顯示之影像的路徑或 URL。

Image,取得或設定 PictureBox 顯示的影像。

new Bitmap(pictureBox1.Image)是Bitmap (Image)Bitmap 建構函式之一種。

new StringFormat(),使用指定的 StringFormatFlags 列舉型別,初始化新的 StringFormat 物件。Alignment,StringFormat 屬性,取得或設定字串的水平對齊方式。

FormatFlags,StringFormat 屬性,取得或設定含有格式資訊的 StringFormatFlags 列舉型別。

Graphics.FromImage(OriginalImage),使用 FromImage 方法,從影像建立 Graphics 物件。

DrawString(sWaterMark, new Font(“新細明體”, FontSize, FontStyle.Bold), new SolidBrush(Color.FromArgb(80, 255, 255, 255)), x, y, DrawFormat);,使用DrawString(String, Font, Brush, Single, Single, StringFormat)的多載函式使用指定的 BrushFont 物件,將指定的文字字串繪製於指定的位置。

Dispose(),釋放這個 Graphics 所使用的所有資源。

這樣看起來就差不多了!

Tip to Free Compile C# in Command Line

星期五, 七月 16th, 2010點閱人數:23次

上個月ㄚ琪做了Microsoft Visual C# 2010 Express更新後,今天開始看微軟的C# 教學課程,這個教學課程主要是針對命令列的程式使用,所以你會覺得用IDE來寫這些程式,有點大刀小用,但是免費的C#並不像付費的IDE環境有提供命令列的編譯使用,所以ㄚ琪看了How to Get a Free C# Command Line Compiler之後才知道要自己設定,而且這個命令列的編譯程式其實是放在.NET Framework套件中,而這個套件在安裝Microsoft Visual C# 2010 Express時就伴隨安裝進來了,所以我們要像付費的C#在命令列編譯就可以這樣做:

1.到%windir%\Microsoft.NET\Framework\<version>目錄下,windir是Windows目錄,一般是C:\WINDOWS,version是.NET版本,像我現在裝得就是v4.0.30319版。

2.編輯一個shell批次檔,例如startcs.bat:

@set path=C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319;%path%
@%comspec%

3.將檔案放在Microsoft Visual C# 2010 Express的目錄下,一般預設是:C:\Documents and Settings\All Users\「開始」功能表\程式集\Microsoft Visual Studio 2010 Express

4.大功告成,到開始->程式集->Microsoft Visual Studio 2010 Express裡面去看,就有命令列的編譯環境了!

Microsoft Visual C# 2010 Express更新

星期二, 六月 15th, 2010點閱人數:334次

今天再一次使用Microsoft Visual C# 2010 Express的時候,被題試過其要求更新,重回http://www.microsoft.com/express/Downloads/下載的頁面,一看有Chinese(Traditional)的選項可以選,就知道這一次的更新已經可以使用中文了,真好!

下載網路安裝檔之後,它會要求你移除舊版的,所以今天大部分的工作就是移除跟安裝了,先安裝C#,其餘的之後有需要再安裝,要安裝C#也有很多套件要安裝,列圖如下:

2010-06-15_142832 2010-06-15_142910 2010-06-15_142928

裝了有一會兒的時間終於裝好了!

2010-06-15_155756 2010-06-15_161455

終於有中文的Visual Studio Express系列可以使用了!

試用後,會提醒要裝Windows Automation API 3.0 後,Visual Studio 2010 的執行速度變快,好吧!就繼續裝看看!

大話設計模式心得筆記

星期五, 十二月 18th, 2009點閱人數:323次

image

最近在準備SCJP,對Java有點熟之後,感覺對C#有比較多的信心可以讀懂,就又跟學校借了這本大話設計模式來看,看能不能有什麼長進!

第01章 程式碼無錯就是優?—簡單工廠模式
第02章 商場促銷—策略模式

策略模式(Strategy):定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不繪影想到使用演算法的客戶。
第03章 拍攝UFO—單一職責原則

單一職責原則(SRP):就一個類別而言,應該只有一個引起它變化的原因。
第04章 升學求職兩不誤—開放-封閉原則

開放-封閉原則:軟體實體(類別、模組、函數等等)應該可以擴展,但是不可修改。
第05章 會修電腦不會修收音機?—依賴倒轉原則

依賴倒轉原則:
A..高層模組不應該依賴低層模組。兩個都應該依賴抽象。
B.抽相簿應該依賴細節。細節應該依賴抽象。

Liskov替換原則:子類型必須能夠替換掉它們的父類型。
第06章 穿什麼有這麼重要?—裝飾模式

裝飾模式(Decorator):動態地給一個物件加入一些額外的職責,就增加功能來說,裝飾模式比產生子類別更為靈活。
第07章 為他人做嫁衣—代理模式

代理模式(Proxy):為其它物件提供一種代理以控制對這個物件的存取。
第08章 南丁格爾依然在人間—工廠方法模式

工廠方法模式(Factory Method):定義一個用於建立物件的介面,讓孩子類決定實體化哪一個類別。工廠方法使一個類別的實例化延遲到其子類別。
第09章 履歷影印—原型模式

原型模式(Protype):用原型實例指定建立物件的種類,並且透過拷貝這些原型建立新的物件。
第10章 考題抄錯會做也白搭—範本方法模式

範本方法模式,定義一個操作中的演算法的骨架,而將一些步驟延遲到子類別中。範本方法使得子類別可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。
第11章 無熟人難辦事?—迪米特法則
第12章 多頭市場股票還會虧錢?—外觀模式
第13章 好菜每回味不同—建造者模式
第14章 老闆回來,我不知道—觀察者模式
第15章 就不能不換嗎?—抽象工廠模式
第16章 無盡加班何時休—狀態模式
第17章 在NBA我需要翻譯—轉接器模式
第18章 如果再回到從前—備忘錄模式
第19章 分公司=一部門—組合模式
第20章 想走?可以!先買票—迭代器模式
第21章 有些類別也需計畫生育—獨體模式
第22章 手機軟體何時統一—橋接模式
第23章 烤羊肉串引來的思考—命令模式
第24章 加薪非要老總批?—職責鏈模式
第25章 世界需要和平—仲介者模式
第26章 專案多也別傻傻做—享元模式
第27章 其實你不懂老闆的心—解譯器模式
第28章 男人和女人—訪問者模式
第29章 OOTV杯超級模式大賽—模式總結

附 錄A 訓練實習生—物件導向基礎
附 錄B 參考文獻

VS的成員精靈

星期一, 六月 11th, 2007點閱人數:10次

Visual C# 教學手冊這一本書中使用的是Visual Studio .NET 1.0版, 而在新版的

Beginning Visual C# 2005這本書是使用Visual Studio 2005版本的,也是我正在使用的版本,

所以要新增方法, 在2005的版本已經沒有這個精靈了,取而代之的是使用類別檢視圖表的功能!
要開啟類別檢視圖表操作如下:
在方案總管的類別處按滑鼠右鍵點選類別檢視圖表, 就會出現如下圖的樣式:
2007-06-11_200536.png
點選向下的圖示,展開如下圖:
2007-06-11_200753.png

新增方法

在上圖的類別圖示按滑鼠右鍵點選類別細節
2007-06-11_201025.png
 按下這個2007-06-11_201117.png圖示就可以新增方法了, 一旦你命名了新增的方法名稱,你就可以用Tab鍵來設定此方法回傳的型別,設定修飾辭,摘要(這些資訊會轉譯至XML的文件), 你也可以設定要不要隱藏.
一旦你新增了方法,你就可以用同樣的方式來加入參數, 對於參數來說,你可以使用修飾詞來使用out, ref, 及 params. 範例如下所示.

2007-06-11_201811.png