[DotNetFramework]
文章平均质量分 85
Iam_Rocky
用於收藏文章和記錄,以便日後查找方便。部分文章來自網絡,如侵權請告知刪除
展开
-
C#圖像細化:Hilditch細化算法
http://blog.csdn.net/aofengdaxia/article/details/7439992上理論:Hilditch 細化算法的步驟為:對圖像從左向右從上向下迭代每個像素,是為一個迭代周期。在每個迭代周期中,對於每一個像素p,如果它同時滿足6個條件,則標記它。在當前迭代周期結束時,則把所有標記的像素的值設為背景值。如果某次迭代周期中不存在標記點(即滿足6個條转载 2012-10-30 20:43:48 · 1913 阅读 · 0 评论 -
[Thread] 執行緒的順序啟動 - Thread.Join方法
http://www.dotblogs.com.tw/yc421206/archive/2011/01/04/20575.aspxJoin語意是加入,但跟官網的解釋不太一樣,Thread.Join 方法在官網的解釋是:封鎖呼叫執行緒,直到執行緒結束為止。沒錯!在這裡它是封鎖的意思,那是封鎖什麼呢?做啥用途的呢?它是用來做順序控制用的;這樣講好了,假設你現在有兩條執行緒名转载 2013-02-06 09:25:53 · 823 阅读 · 0 评论 -
[C#.NET] 如何 使用 多執行緒 Thread / 跨執行緒 存取UI
http://www.dotblogs.com.tw/yc421206/archive/2009/02/13/7141.aspxSystem.Threading 命名空間提供了執行緒的建立,讓開發者省去了不少程式碼。使用多執行緒時先匯入System.Threading如何建立執行緒1.建立一個方法private void RunSample01()转载 2013-02-06 09:09:16 · 12450 阅读 · 0 评论 -
[Thread] 執行緒資源存取限制的同步機制 - Semaphore
http://www.dotblogs.com.tw/yc421206/archive/2011/01/06/20619.aspxSemaphore類別是用來限制執行緒同時存取資源的機制,它是用號誌計數來限制執行緒的鎖定,每當執行緒進入號誌(WaitOne)時,號誌上的計數會遞減,而在執行緒釋放(Release)號誌時,計數會遞增;我們也是可以利用它來等候其他的執行緒進而達到資转载 2013-02-06 09:27:12 · 723 阅读 · 0 评论 -
[Thread] 背景執行緒與前景執行緒的差別
http://www.dotblogs.com.tw/yc421206/archive/2011/01/04/20574.aspx執行緒可分為前景執行緒與背景執行緒兩種,在預設的狀況下Thread是屬於前景執行緒也就是Thread.IsBackground=false,那這兩種執行緒差在哪裡呢?若主程序已下達中止工作命令了,有任一前景執行緒尚未完成工作,程序不會立即中止转载 2013-02-06 09:25:03 · 1803 阅读 · 0 评论 -
[C#.NET] 如何 使用 BackgroundWorker 多執行緒 / 跨執行緒 存取UI
http://www.dotblogs.com.tw/yc421206/archive/2009/02/15/7174.aspx如何使用BackgroundWorker控件1.在winfrom裡拖拉一個BackgroundWorker控件至from裡 2.使用RunWorkerAsync方法,將會觸動DoWork事件 this.back转载 2013-02-06 09:23:45 · 2882 阅读 · 0 评论 -
[C#.NET][VB.NET]執行緒 Thread 共用資料 同步 鎖定
http://www.dotblogs.com.tw/yc421206/archive/2009/02/23/7270.aspx使用執行緒時需要注意在多重執行緒之間的共用資料,為了不讓多執行緒共用資料時產生碰撞,.NET 2.0提供了以下類別鎖定資料,確保多執行緒不會存取到其它型別的程式。1.C# for lock / VB for SyncLock(同步鎖定)转载 2013-02-06 09:20:05 · 2531 阅读 · 0 评论 -
[Thread] 執行緒同步資源鎖定 – lock / SyncLock
http://www.dotblogs.com.tw/yc421206/archive/2011/01/07/20624.aspx使用執行緒時常會共用一些資源(方法),為了不讓執行緒同時間進入同一個資源,避免造成資源在演算過程中發生錯亂,可以使用關鍵字C# for lock / VB for SyncLock來鎖定資源,等待執行緒工作完成後才會自動解除鎖定,讓其它的執行緒進來使转载 2013-02-06 09:33:58 · 1240 阅读 · 0 评论 -
Array.ConvertAll 範例 (C#)
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespac转载 2013-03-26 08:54:14 · 6225 阅读 · 0 评论 -
[Thread] 執行緒同步資源鎖定 – Mutex
http://www.dotblogs.com.tw/yc421206/archive/2011/01/09/20683.aspxMetux類別的用法很像Semaphore,它同樣是繼承WaitHandle來的Mutex.WaitOne方法會使執緒進入WaiySleepJoin狀態,Mutex.ReleaseMutex方法會使執行緒進入Running狀態Semaphor转载 2013-02-06 09:36:07 · 854 阅读 · 0 评论 -
[Thread] 執行緒同步資源鎖定 – Monitor
http://www.dotblogs.com.tw/yc421206/archive/2011/01/08/20668.aspxMonitor 類別是一個靜態類別,它的用法跟lock很像[Thread] 執行緒同步資源鎖定 – lock / SyncLock,事實上lock也是實作Monitor類別來的,lock算是一個比較精簡的功能,Monitor提供的功能較多可以應付转载 2013-02-06 09:35:26 · 835 阅读 · 0 评论 -
c#程序強制關閉所有進程方法
http://blog.csdn.net/wangchao0605/article/details/4912077在很多情況下,C#程序在應用程序完成後,因為某些線程任務沒完成,所以用戶看到程序窗口已經關了,但打開任務管理器會發現進程還在,還佔用著資源..有時是因為程序本身沒去處理關閉線程而引起的,但也有很多情況是種種原因導至程序中的線程任務長時間卡住,甚至無法結束,在網絡程序中更為嚴重.转载 2012-12-18 06:09:10 · 2904 阅读 · 0 评论 -
C#截取屏幕中選定區域的圖像
http://blog.csdn.net/manimanihome/article/details/2071517C#截取屏幕中選定區域的圖像原理:主窗體首先截取整個屏幕圖像作為主窗體的背景圖,並且最大化,然後再做一個可調整大小的半透明窗體,將該窗體顯示在主窗體上,那麼該窗體所在的方框就是所要截取的方框.調整該窗体也就可以調整截取的范圍.1.主窗體的設計相關屬性:转载 2012-10-23 07:17:45 · 2179 阅读 · 0 评论 -
利用unsafe代碼在C++和C#之間傳遞圖像
http://blog.csdn.net/halfwet/article/details/7052897在實際應用中,經常遇到用OpenCV等C++平台的庫來采集圖像,然後傳遞到C#中進行繪制的情況。這時,從C++向C#中傳遞圖像(數組)就成了一個重要的問題。這裡記錄實驗過的三種方法。1. 先前一直采用逐像素拷貝的方法:C++中定義采集圖像函數:extern "C" __转载 2012-10-24 06:37:12 · 1240 阅读 · 0 评论 -
西元轉民國(C#)
DateTime dtNow = DateTime.Now; System.Globalization.TaiwanCalendar twC = new System.Globalization.TaiwanCalendar(); textBox2.Text = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("/##")原创 2012-11-26 08:40:24 · 2068 阅读 · 0 评论 -
移除字串中非數字字元
label1.Text = Regex.Replace(textBox1.Text, "[^0-9]", "");原创 2012-11-26 08:46:22 · 1126 阅读 · 0 评论 -
通過Assembly來動態加載DLL
http://net-liu.iteye.com/blog/696770通過Assembly來動態加載DLL //从DLL文件加载程序集 static Assembly amy = Assembly.LoadFrom("Student.dll"); //创建新类 static Type type = amy.GetT转载 2012-12-25 08:51:28 · 840 阅读 · 0 评论 -
C# 獲取照片拍攝時間
http://www.cnblogs.com/weiling/archive/2009/09/18/1569067.html找了好久才找到這個方法貼出來分享下,這個方法主要是獲取照片的拍攝時間^_^調用的時候如下;ALLNAME是照片的絕對路徑...如果返回值為"N/A"說明照片不存在拍攝時間足夠屬性沒有取到string time = GetTakePicDateTime(Ge转载 2012-12-15 21:39:25 · 1565 阅读 · 0 评论 -
API關閉指定表單
public const int WM_CLOSE = 0x10; [DllImport("user32.dll", EntryPoint = "SendMessageA")] public static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); [原创 2012-12-18 06:24:33 · 632 阅读 · 0 评论 -
使用 LINQ 過濾 Select Files (C#)
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Sy转载 2013-03-26 08:57:03 · 1275 阅读 · 0 评论 -
專案參考X86跟X64的dll
http://yy-programer.blogspot.tw/2012/07/x86x64dll.htmlVisual Studio 2010在建置專案時需要選擇建置平台若有參考到第三方元件(Third party)時通常會根據第三方元件來調整建置平台但若是第三方元件有分X86跟X64版本每次切換建置平台就得重新參考第三方元件的dll,實在是非常麻煩!!转载 2013-05-26 08:05:00 · 1811 阅读 · 0 评论 -
gdi+ 雙緩沖技術
http://blog.csdn.net/wwei466/article/details/2705693gdi+的雙緩沖技術可以提高繪圖效率,並且屏幕不會一閃一閃的。 實現雙緩沖的具體步驟我再來詳細解釋一下剛才實現雙緩沖的具體步驟:1、在內存中建立一塊「虛擬畫布」:Bitmap bmp = new Bitmap(600, 600);2、獲转载 2013-06-30 06:00:39 · 1103 阅读 · 0 评论 -
gdi+ 的反鋸齒
http://blog.csdn.net/wwei466/article/details/2705727 e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;转载 2013-06-30 06:01:49 · 1156 阅读 · 0 评论 -
使用ExeConfigurationFileMap讀寫配置文件
http://www.cnblogs.com/anjou/archive/2011/06/02/2068504.htmlusing System;using System.IO;using System.Configuration;public class AppConfig{ public string LastLoginId {转载 2013-08-19 14:26:52 · 1533 阅读 · 0 评论 -
透過.NET程式操作Excel的注意事項
http://blog.darkthread.net/post-2013-05-14-excel-interop-notes.aspx【個案】某支開啟Excel進行作業的.NET排程程式,定期排程執行時遇到錯誤,留下一堆無主excel.exe。用以下程式示範:using System;using System.Collections.Generic;us转载 2013-09-06 09:07:25 · 1156 阅读 · 0 评论 -
細化算法C++
圖像細化(Image Thinning),一般指二值圖像的骨架化(Image Skeletonization) 的一種操作運算。 所謂的細化就是經過一層層的剝離,從原來的圖中去掉一些點,但仍要保持原來的形狀,直到得到圖像的骨架。骨架,可以理解為圖象的中軸。 好的細化算法一定要滿足:收斂性;保證細化後細線的連通性保持原圖的基本形狀減少筆畫转载 2014-11-03 06:56:34 · 1506 阅读 · 0 评论 -
Zhang二值圖像細化算法
[函數名稱] 二值圖像細化算法 WriteableBitmap ThinningProcess(WriteableBitmap src)[算法說明] 圖像細化(Image Thinning),一般指二值圖像的骨架化(Image Skeletonization)的一種操作運算。所謂的細化就是經過一層層的剝離,從原來的圖中去掉一些點,但仍要保持原來的形狀,直到得到圖像的骨架。转载 2014-11-03 06:50:39 · 2120 阅读 · 0 评论 -
Gabor濾波 + 多尺度問題
http://blog.csdn.net/memory513773348/article/details/8709440Gabor函數Gabor變換屬於加窗傅立葉變換,Gabor函數可以在頻域不同尺度、不同方向上提取相關的特征。另外Gabor函數與人眼的生物作用相仿,所以經常用作紋理識別上,並取得了較好的效果。二維Gabor函數可以表示為:其中:转载 2014-12-07 00:01:26 · 2761 阅读 · 0 评论 -
Gabor濾波 卷積
本文轉載於: http://zhenyulu.cnblogs.com/articles/325718.html一、二維卷積運算Gabor變換的本質實際上還是對二維圖像求卷積。因此二維卷積運算的效率就直接決定了Gabor變換的效率。在這裡我先說說二維卷積運算以及如何通過二維傅立葉變換提高卷積運算效率。在下一步分內容中我們將此應用到Gabor變換上,抽取筆跡转载 2014-12-06 23:59:47 · 1193 阅读 · 0 评论 -
C#自定義直線箭頭大小
System.Drawing.Drawing2D.AdjustableArrowCap lineCap = new System.Drawing.Drawing2D.AdjustableArrowCap(10, 10, true); Pen RedPen = new Pen(Color.Red, 2);原创 2013-06-30 05:55:08 · 2037 阅读 · 0 评论 -
gdi+ 的 graphicspath (一)
http://blog.csdn.net/wwei466/article/details/2705938 gdi+的graphicspath很強大,就我的理解是它可以記錄下來你繪圖的過程,最後一起畫出來。由於我是使用c#編程的,對指針很模糊。gdi+畫圖,c#的效率是一個問題。如果你要畫的東西少,那麼你可以一個一個畫。但是如果多的話,效率很成問題! 我在做一個工转载 2013-06-30 06:10:34 · 1751 阅读 · 0 评论 -
使用GDI+坐標系統
http://blog.csdn.net/wwei466/article/details/2912468關於坐標系操作不錯的總結:我總結的,有點亂,請大家批評,指正. 1、 基礎知識 坐標系統分為三類:全局坐標系統、頁面坐標系統和設備坐標系統。頁面坐標系與設備坐標系都是以設備的左上角為坐標原點,X水平向右為正,Y垂直向下為正。頁面坐標與設備坐標系的差異在转载 2013-06-30 05:59:34 · 1266 阅读 · 0 评论 -
關於互斥鎖
http://yy-programer.blogspot.tw/2012/07/blog-post.html由於最近使用Parallel for的平行化迴圈來運算debug了一陣子都找不出問題所在最後才知道遇上了critical section的問題搜尋了一下C#提供了三種方法Monitor,Mutex,和Semaphor(可參閱此網誌的介紹)转载 2013-05-26 08:08:57 · 928 阅读 · 0 评论 -
用Mutex實現應用程式的單實例運行
http://www.dotblogs.com.tw/jjnnykimo/archive/2009/05/07/8328.aspxSystem.Threading.Mutex :同步基元,它只向一個執行緒授予對共用資源的獨佔訪問權。[MSDN]實現原理: 在程式啟動時,請求一個互斥體,如果能獲取對指定互斥的訪問權,就繼續運行程式,否則就退出程式。測試代碼:转载 2013-07-11 08:07:54 · 930 阅读 · 0 评论 -
[C#]使用Mutex實現單一程式執行個體的注意事項
http://www.dotblogs.com.tw/larrynung/archive/2012/04/08/71353.aspx相信大家都知道在.NET程式中若要實現單一程式執行個體,一般來說有幾種方法,像是去判斷是否已經有開啟的Process是相同的程式、用Mutex與Semaphore之類的技術來判斷是否程式正在開啟。但是很多網路上的文章都忽略了在用Mutex實現單一程式執行個转载 2013-07-11 08:06:34 · 1522 阅读 · 0 评论 -
Mutex實現單實例,你真的搞懂了嗎?來看看吧
http://www.cnblogs.com/keyrratuff/archive/2009/03/17/1414249.html通常需要winform只運行一個實例的話,我們用這樣一個方法 修改Program.cs using System;using System.Collections.Generic;using System.Windows.Forms;us转载 2013-07-11 11:01:42 · 1198 阅读 · 0 评论 -
如何將C#數組傳給具有IntPtr的托管代碼函數?
http://blog.csdn.net/photohomeli/article/details/4922757來自CSDN的一個結貼:http://topic.csdn.net/u/20081018/02/4472adae-063c-4ea7-a4fa-369614656339.html 如何將C#數組(如bytes[])傳給具有IntPtr的托管代碼函數?---非u转载 2013-06-26 14:59:32 · 1807 阅读 · 0 评论 -
C# unsafe code(轉)
http://www.cnblogs.com/dc10101/archive/2009/03/06/1404586.htmlunsafe{ int[] array = new int[10]; for (int i = 0; i < array.Length; i++) { array[i] = i;转载 2013-06-26 15:03:19 · 1438 阅读 · 0 评论 -
IntPtr是什麼,該怎麼用
http://blog.csdn.net/yang_629/article/details/7440115IntPtr是什麼,該怎麼用 IntPtr用於表示指針或句柄的平台特定類型,此類型對多線程操作是安全的。C#中的IntPtr類型稱為「平台特定的整數類型」,它們用於本機資源,如窗口句柄。資源的大小取決於使用的硬件和操作系統,但其大小總是足以包含系統的指針(因此也可以包含转载 2013-06-26 14:56:18 · 7338 阅读 · 0 评论 -
VS2010出現FileTracker : error FTK1011編譯錯誤的解決辦法
http://www.cnblogs.com/winloa/archive/2011/10/10/2205019.htmlVS2010出現FileTracker : error FTK1011不知道是不是vs2010的一個bug,反正有人提交了. FileTracker : error FTK1011編譯錯誤的解決辦法有三個,推薦使用第二個方法一:把目標框架改為Fram转载 2013-06-27 08:43:58 · 3002 阅读 · 0 评论