日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

【干货】”首个“ .NET Core 验证码组件

發布時間:2023/12/4 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【干货】”首个“ .NET Core 验证码组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

?

  眾所周知,Dotnet Core目前沒有圖形API,以前的System.Drawing程序集并沒有包含在Dotnet Core 1.0環境中。不過在dotnet core labs項目里可以見到MS已經在移植這個項目,不過目前的版本只能在Windows上和NET541+或DNX環境中才可以使用。

  不過在dotnetConf的第二天有一個叫做SkiaSharp的開源項目被提及;它是Google開源的跨平臺2D圖形API,Skia的.NET封裝;目前只能在Full Framework上運行,不過它以后會支持Core。

?

現狀

  據我了解,Dotnet Core目前沒有可用的驗證碼組件可用,原因就是沒有Core的圖形接口。所以我的方案是通過開源的圖形庫來對dotnet core進行支持。

使用CImg開源庫

  CImg 庫是一個免費、開源的圖像處理C++庫,名稱原意是 Cool Image,正如其名,CImg是一個非常優秀、功能強大、代碼簡潔、使用方便的C++ 圖像處理庫。它不僅非常適合科學家、研究生做科研時使用,也適合在工業應用工程開發中使用,更適合的是,對于有志于開發簡潔、高效、功能強大的圖像處理庫的人而言,CImg的源碼是不可多得的學習和參考資料。

  CImg 官網:http://cimg.sourceforge.net/

?

  可移植性:它完全兼容于操作系統如Windows, Unix, Linux, MacOS X, *BSD...,也完全兼容與編譯器如 VC++, g++, icc...等,具有高度的可移植性。

?

  輕便性:CImg 非常輕便,整個庫只用一個文件:cimg.h。任何C++應用程序只需要將該頭文件包含進工程中即可使用該庫的全部功能。它只定義了四了類(模板)和兩個名稱空間。該庫只依賴與標準C++和STL,只在顯示類部分依賴與操作系統的GDI,再也不依賴任何其他的外部庫。

C++封裝:

  我把繪圖邏輯都放到了一個C++項目中,再用Core項目使用DllImport進行調用。

  而且想到跨平臺在Win下我們使用Win32的DLL庫進行編譯,在Linux下使用g++直接對源代碼進行鏈接編譯;?

  下面是項目中最主要的CaptchaImage.cpp,Win32下它會被放到項目中

CaptchaImage.cpp

  頭文件:

CaptchaImage.h

  這里為了跨平臺編譯我將stdafx.h文件進行了修改如下:

stdafx.h

Dotnet Core平臺封裝:

?

LibCaptchaImageWarp.cs

?

編譯:

Win32編譯就不用說了,直接在VS2015里編譯就好,但是一定要注意的是,要編譯為X64平臺的目標代碼,因為我們的Dotnet Core只支持x64平臺;

主要說下Linux編譯,目前我只在Ubuntu 14.04進行了編譯測試,編譯時CImg依賴也X11,所以要在編譯環境中安裝X11開發庫,當然Ubuntu也需要64位;

sudo apt-get install libx11-dev

接下下是編譯:

把那個Win32項目Copy到Linux中,然后Bash到目錄下執行:

g++ CaptchaImage.cpp -fPIC -shared -o libcaptchaimage.so

然后當你發布程序時一定要將libcaptachaImageWarp.dll 和 Win32 Dll 或?libcaptchaimage.so 文件一起放到程序執行目錄。

最后:

看看效果吧:

驗證碼源碼:https://github.com/maxzhang1985/YOYOFx/tree/master/Native

Demo:https://github.com/maxzhang1985/YOYOFx/tree/master/CoreHost

QQ群:214741894

Demo和源碼在:https://github.com/maxzhang1985/YOYOFx

YOYOFx是一個基于Core和Owin的框架,項目沒有依賴微軟的MVC框架,支持在.net 4.5和Mono上直接SelfHost或使用Tinyfox跨平臺運行, 也支持在Dotnet Core 1.0 RC2 實現跨平臺運行; 框架剛剛寫出來還沒有文檔,請大家見諒。

歡迎大家Star和Fork

原文地址:http://www.cnblogs.com/maxzhang1985/p/5584528.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結

以上是生活随笔為你收集整理的【干货】”首个“ .NET Core 验证码组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。