Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 50580|Risposta: 2

[.NET Core] Problemi di filigrana .NET Core nelle immagini Linux

[Copiato link]
Pubblicato il 28-03-2021 14:46:15 | | | |
Requisiti: Ora che .NET Core può essere multipiattaforma, pubblica il progetto sull'ambiente Linux per farlo eseguire, e il progetto includerà alcune elaborazioni delle immagini, come: generare codici di verifica, affidare immagini con filigrane, ecc.

Per prima cosa, crea un progetto console .NET Core 3.1 (il codice sorgente è allegato alla fine dell'articolo) e è necessario installare l'elaborazione delle immagini:Sistema.Disegno.Comune

Usa il pacchetto nuget per gestire l'installazione con il seguente comando:


Pubblica il progetto come un singolo file, la piattaforma di destinazione è: linux-x64, e la configurazione di pubblicazione è la seguente:

<?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>Distribuzione</Configuration>
    <Platform>Qualsiasi CPU</Platform>
    <PublishDir>bin\Release\netcoreapp3.1\publish\</PublishDir>
    <PublishProtocol>File System</PublishProtocol>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RuntimeIdentifier>Linux-x64</RuntimeIdentifier>
    <SelfContained>Vero</SelfContained>
    <PublishSingleFile>Vero</PublishSingleFile>
    <PublishTrimmed>Falso</PublishTrimmed>
  </PropertyGroup>
</Project>
Il singolo file eseguibile generato contiene in realtà l'ambiente necessario per l'esecuzione del programma, e non è necessario che il computer di destinazione installi l'SDK, e lo svantaggio è che la dimensione del file diventerà molto grande.

Carica il file pubblicato sul server CentOS, eConcedere ai file i permessi di esecuzione! Altrimenti, il programma non verrà eseguito con il seguente comando:


Poi esegui il file, e i problemi che potresti incontrare sono i seguenti:

.NET Core rilascia un problema con un singolo percorso di file
https://www.itsvse.com/thread-9604-1-1.html

Errore Linux .NET Core: Non sono riuscito a trovare un pacchetto ICU valido installato...
https://www.itsvse.com/thread-9603-1-1.html

Errore .NET Core in Linux Pacchetto applicativo di elaborazione di fallimento
https://www.itsvse.com/thread-9602-1-1.html
Se l'errore è il seguente:

Eccezione non risolta. System.TypeInitializationException: L'inizializzatore di tipo per 'Gdip' ha lanciato un'eccezione.
---> System.DllNotFoundException: Impossibile caricare la libreria condivisa 'libgdiplus' o una delle sue dipendenze. Per aiutare a diagnosticare i problemi di caricamento, considera di impostare la variabile di ambiente LD_DEBUG: liblibgdiplus: non può aprire file oggetto condiviso: Nessun file o directory del genere
   su System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   su System.Drawing.SafeNativeMethods.Gdip.. cctor()
   --- Fine della traccia interna della pila eccezionale ---
   su System.Drawing.SafeNativeMethods.Gdip.GdipLoadImageFromFile(Stringname file, IntPtr& image)
   su System.Drawing.Image.FromFile (Stringname file, boolean useEmbeddedColorManagement)
   su System.Drawing.Image.FromFile (Nome file stringa)
   su ImageWatermark.Program.Main(String[] args)
Abortito
Usa il seguente comandoInstalla libgdiplus-devel


Prova a rieseguire e puoi scoprire che l'esecuzione è andata bene, come mostrato nell'immagine seguente:



Visualizza l'immagine con filigrana e apri il file "57f2305a-6850-41af-80ab-8d2bf89569e5.jpg", l'effetto è il seguente:



Scoperta,I caratteri cinesi sono confusi, non c'è problema con i caratteri inglesi, controlla il font installato dal sistema, il comando è il seguente:



Se il comando non è disponibile nel sistema, dobbiamo prima installare il pacchetto software pertinente, il comando è il seguente:

Soluzione: installare il font open-source disponibile commercialmente google-noto con il seguente comando:



Modifica il font usato nel codice sorgente, ripubblica e carica sul server, e il risultato dell'esecuzione è il seguente:



Puoi vedere che puoi aggiungere con successo una filigrana cinese con il seguente codice:

Scarica codice sorgente:

Turisti, se volete vedere il contenuto nascosto di questo post, vi pregoRisposta


(Fine)




Precedente:.NET Core rilascia un problema con un singolo percorso di file
Prossimo:Tutorial sul Rules Engine del motore di regole .NET/C#
 Padrone di casa| Pubblicato il 16-6-2021 14:10:48 |
Pubblicato il 29-12-2022 11:49:27 |
Puoi vedere che puoi aggiungere con successo una filigrana cinese con il seguente codice:
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com