既然.net6已經實現真正意義上的跨平臺,那麼自然能夠運行在linux操作系統環境裏,不過在將.netframework代碼遷移到.net6時,還是發現了不少問題,比如本文要說驗證碼圖片處理。
在.netframework框架下,圖片處理依賴底層的GDI+,.netframework也僅僅做了簡單封裝,這就使得圖片處理在.netcore裏顯得很雞肋,直到.net6版本微軟官宣不支持了,這個不好說什麼畢竟底層的技術不同(DirectX和OpenCV)。怎麼辦?微軟官網也提供其他解決方案,不過最後還是選擇了基於Google的Skia封裝的SkiaSharp,原因嗎?開源,強大,友好。
爲了考駕證(已考出),三個多月沒有編寫程序代碼,昨天晚上一頓操作很快就完事兒,且在Windows下運行順利。所以今天就在Linux(Debian11)下測試運行了一下,經過一番操作也順利運行。不過有不少事項需要注意,比如字體。
驗證碼效果如下圖:
a.簡單驗證碼
b.計算驗證碼
程序源碼:https://gitee.com/kinbor/jks.core.test.toolkit.captchas