Persyaratan: Sekarang .NET Core dapat lintas platform, publikasikan proyek ke lingkungan Linux untuk dijalankan, dan proyek akan menyertakan beberapa pemrosesan gambar, seperti: menghasilkan kode verifikasi, gambar tanda air, dll.
Pertama, buat proyek konsol .NET Core 3.1 (kode sumber dilampirkan di akhir artikel), dan pemrosesan gambar perlu diinstal:Sistem.Gambar.Umum
Gunakan paket nuget untuk mengelola penginstalan dengan perintah berikut:
Publikasikan proyek sebagai satu file, platform targetnya adalah: linux-x64, dan konfigurasi penerbitannya adalah sebagai berikut:
<?xml version="1.0" encoding="utf-8"?> <!--
https://go.microsoft.com/fwlink/?LinkID=208121. --> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration>Rilis</Configuration> <Platform>CPU apa pun</Platform> <PublishDir>bin\Release\netcoreapp3.1\publish\</PublishDir> <PublishProtocol>Sistem File</PublishProtocol> <TargetFramework>netcoreapp3.1</TargetFramework> <RuntimeIdentifier>linux-x64</RuntimeIdentifier> <SelfContained>benar</SelfContained> <PublishSingleFile>Benar</PublishSingleFile> <PublishTrimmed>Salah</PublishTrimmed> </PropertyGroup> </Project> (File tunggal yang dapat dieksekusi yang dihasilkan sebenarnya berisi lingkungan yang diperlukan untuk eksekusi program, dan komputer target tidak perlu menginstal SDK, dan kerugiannya adalah ukuran file akan menjadi sangat besar.)
Unggah file yang diterbitkan ke server CentOS, danBerikan izin eksekusi file! Jika tidak, program tidak akan berjalan dengan perintah berikut:
Kemudian jalankan file, dan masalah yang mungkin Anda temui adalah sebagai berikut:
Jika kesalahannya adalah sebagai berikut:
Pengecualian yang tidak ditangani. System.TypeInitializationException: Penginisialisasi jenis untuk 'Gdip' memunculkan pengecualian. ---> System.DllNotFoundException: Tidak dapat memuat library bersama 'libgdiplus' atau salah satu dependensinya. Untuk membantu mendiagnosis masalah pemuatan, pertimbangkan untuk mengatur variabel lingkungan LD_DEBUG: liblibgdiplus: cannot open shared object file: No such file or directory di System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output) di System.Drawing.SafeNativeMethods.Gdip.. CCTOR() --- Akhir pelacakan tumpukan pengecualian dalam --- di System.Drawing.SafeNativeMethods.Gdip.GdipLoadImageFromFile(Nama file string, gambar IntPtr& ) di System.Drawing.Image.FromFile(Nama file string, penggunaan BooleanEmbeddedColorManagement) di System.Drawing.Image.FromFile(Nama file string) di ImageWatermark.Program.Main(String[] args) Dibatalkan Gunakan perintah berikutInstal libgdiplus-devel:
Coba eksekusi ulang, dan Anda dapat menemukan bahwa eksekusi berhasil, seperti yang ditunjukkan pada gambar berikut:
Lihat gambar bertanda air dan buka file "57f2305a-6850-41af-80ab-8d2bf89569e5.jpg", efeknya adalah sebagai berikut:
Penemuan,Karakter Cina kacau, tidak ada masalah dengan karakter bahasa Inggris, periksa font yang diinstal oleh sistem, perintahnya adalah sebagai berikut:
Jika perintah tidak tersedia di sistem, kita perlu menginstal paket perangkat lunak yang relevan terlebih dahulu, perintahnya adalah sebagai berikut:
Solusi, instal font google-noto sumber terbuka yang tersedia secara komersial dengan perintah berikut:
Ubah font yang digunakan dalam kode sumber, publikasikan ulang dan unggah ke server, dan hasil eksekusi adalah sebagai berikut:
Anda dapat melihat bahwa Anda dapat berhasil menambahkan tanda air Cina dengan kode berikut:
Unduhan kode sumber:
Wisatawan, jika Anda ingin melihat konten tersembunyi dari posting ini, silakan Jawab
(Akhir)
|