在8 bit 圖處理上 並沒有 RGB 的值可以計算 ,由於 8 bits 的圖像是 指標圖像(類似GIF)
只需要調整 調色盤,就可以快速變成灰階
以一張 100*100 8bit 的圖為例
Dim colorPalette1 as ColorPalette
Dim bmpalette As Bitmap = New Bitmap(100, 100, PixelFormat.Format8bppIndexed)
- Jan 22 Sat 2011 10:54
GDI+ 8bit 24bit 快速灰階處理
- Jan 22 Sat 2011 10:11
GDI+ bitmap Lockbit(三) 轉換灰階
在 .Net 下 24bit bitmap 儲存 圖片的格式並不是大家熟悉的 RGB
儲存的方式是 BGR 剛好顛倒過來
- Jan 22 Sat 2011 09:48
GDI+ bitmap Lockbit(二)
當bitmap Lockbit 時 有三種屬性可以選擇
ImageLockMode.ReadWrite 可讀可寫
ImageLockMode.ReadOnly 只可讀
ImageLockMode.WriteOnly 只可寫
- Jan 11 Tue 2011 23:16
Form Show 與 ShowDialog 的比較
Show() :單純開啟另一個 Form表單,還是可以對原表單做動作 除非設 TopMost 與 把原表單的 Enable 設為False
showDialog() :強化型Form表單開啟,開啟後 原表單不可執行動作,在關閉時可以設定回傳訊息
首先在 被開啟的 Form 表單設定回傳事件
- Jan 06 Thu 2011 21:27
Queue and Stack
佇列(Queue)是用先進先出的方式處理物件的集合,例如到銀行排隊,先排的人先處理;而堆疊(Stack )是後進先出的集合,例如玩撲克牌排遊戲時,發牌時是從整疊的最上一張拿取。
佇列(Queue)常用的方法如下
名稱 | 說明 |
Count | 取得佇列中目前的項目數量 |
Dequeue | 從佇列前端取出一個項目,同時將其移除 |
Enqueue | 從佇列尾端加入一個項目 |
Peek | 從佇列前端取出一個項目,但不移除 |
堆疊(Stack)常用的方法如下
名稱 | 說明 |
Count | 取得堆疊中目前的項目數量 |
Pop | 從堆疊最頂端取出一個項目,同時將其移除 |
Push | 從堆疊最頂端加入一個項目 |
Peek | 從堆疊最頂端取出一個項目,但不移除 |
- Jan 02 Sun 2011 12:23
Bitmap 進階繪圖(二) 可移動 改變大小的圓
在上一篇 介紹完 可改變大小的直線後,這篇是進階版
上一篇有個問題 不能直接移動直線,但 直線不是我的重點,有興趣的人可以參考這篇的移動
首先一樣會用到上一篇可移動的方框,這是有4個,在圓的上下左右
- Jan 02 Sun 2011 12:03
Bitmap 進階繪圖(一) 可移動 改變長度的 直線
最近在工作上需要 用到 可移動的直線 與 可 改變的圓
網路上很多介紹可以用 API 畫,但我真的不想用 gdi32
也都沒找到 相關的介紹 或 範例,只好自己想辦法寫了一個
整體的演算法
- Dec 31 Fri 2010 15:43
Garbage Collector
.Net 下的 垃圾回收 Garbage Collector (簡稱 GC)
在 .Net下 記憶體的回收,一般來說都是由 CLR 來決定何時回收,但 測試結果 大多是記憶體快滿的時候才會做回收的動作
- Dec 30 Thu 2010 21:52
GDI+ 繪圖方式比較 與 Graphicpath
在 .Net 環境下,GDI+ 是新的繪圖工具
繪圖模式主要有三種
1. 在物件上繪圖
2. 在bitmap 上繪圖在放入視窗物件
- Dec 26 Sun 2010 21:44
Constractors 構造器(二)
Constructors 有多型
可用 this 調用另一個構造器,依 Java 的概念,使用 Constructors 時 要多宣告一個無參數引入
避免 出錯
class Employee{