樹莓派mono上跨平臺運行一個C#自制的簡易圖片處理器

好奇mono到底能神奇到啥程度,決定在windows下開發一個C#小程序在樹莓派上跑跑看。

具體環境:Windows 10 LTSC版 + VS2017專業版,Framework 4.5.2,普通winform。具體開發過程不是本文重點,略過,反正算法N年前都貼過,重新撿起來組裝下而已。

樹莓派:sudo apt-get install mono-complete

這裏有個小插曲,發現最近在sudo apt-get update和upgrade之後,會發生桌面環境下文件管理器閃退的問題。解決起來倒不難(就是可能下載慢):額外再運行 sudo apt full-upgrade即可,重啓後解決。

最終效果:

1、Windows下:

爲了測試字體的有效性,特地用華文琥珀做了個略顯浮誇的標籤。其它主要使用微軟雅黑。

樹莓派下運行的效果圖:

樹莓派表示情緒穩定,單圖處理速度還可以,並且字體有效。當然字體方面做了一些前期準備:

1、樹莓派下mkdir /usr/share/fonts/msfonts
2、windows的fonts下找出msyh*.ttc和STHUPO.TTF,拷到樹莓派剛建的msfonts下。
3、樹莓派下cd /usr/share/fonts/msfonts
4、sudo mkfontscale即可。

但仍是有坑:

0、當然是大小寫敏感,以及文件路徑分隔符正斜槓還是反斜槓。打開文件對話框裏預設*.jpg,顯然找不到後綴是JPG的。總算理解了爲啥別的軟件要設一個*.*。

1、佈局。windows下控件dock即便是none,不使用代碼干預的情況下一個個挨個排運行起來能跟預想的一樣,但mono裏可能會不按預期佈局,需要代碼裏精確控制。

2、GDI+支持。上文貼圖裏存在一個奇怪的問題。當選擇框從右下開始到左上停止的時候,Windows裏一切都是符合預期的,但在mono裏,雖然界面上看不出問題,但同樣的代碼下,初始座標莫名變成了(0,0)。另外,mono下讀取EXIF信息沒有問題,但是寫入Bitmap會報錯:Property not supported [GDI+ status: PropertyNotsupported]。目前暫時只能說這個小破軟件存JPEG圖片會丟EXIF。

3、目錄中存在大量圖片文件時,因爲樹莓派打開文件的對話框,無論哪個模式,死活都要顯示預覽圖,因此可能會很卡。

暫時先這樣吧。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章