Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 50580|Svare: 2

[.NET Core] .NET Core-vannmerkingsproblemer på Linux-bilder

[Kopier lenke]
Publisert 28.03.2021 14:46:15 | | | |
Krav: Nå som .NET Core kan være plattformuavhengig, publiser prosjektet i Linux-miljøet for å kjøre, og prosjektet vil inkludere noe bildebehandling, som for eksempel: generering av verifiseringskoder, vannmerking av bilder osv.

Først, lag et .NET Core 3.1-konsollprosjekt (kildekoden er vedlagt på slutten av artikkelen), og bildebehandling må installeres:System.Tegning.Felles

Bruk nuget-pakken for å administrere installasjonen med følgende kommando:


Publiser prosjektet som én fil, målplattformen er: linux-x64, og publiseringskonfigurasjonen er som følger:

<?xml versjon="1.0" koding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration>Utgivelse</Configuration>
    <Platform>Hvilken som helst CPU</Platform>
    <PublishDir>bin\Release\netcoreapp3.1\publish\</PublishDir>
    <PublishProtocol>Filsystem</PublishProtocol>
    <TargetFramework>NetCoreApp3.1</TargetFramework>
    <RuntimeIdentifier>Linux-x64</RuntimeIdentifier>
    <SelfContained>Sant</SelfContained>
    <PublishSingleFile>Sant</PublishSingleFile>
    <PublishTrimmed>Falsk</PublishTrimmed>
  </PropertyGroup>
</Project>
Den genererte enkeltkjørbare filen inneholder faktisk miljøet som kreves for å kjøre programmet, og det er ikke nødvendig for målmaskinen å installere SDK-en, og ulempen er at filstørrelsen vil bli svært stor.

Last opp den publiserte filen til CentOS-serveren, ogGi filen utførelsestillatelser! Ellers vil ikke programmet kjøre med følgende kommando:


Deretter kjører du filen, og problemene du kan støte på er som følger:

.NET Core frigjør et enkelt filsti-problem
https://www.itsvse.com/thread-9604-1-1.html

.NET Core Linux-feil: Fant ikke en gyldig ICU-pakke installert...
https://www.itsvse.com/thread-9603-1-1.html

.NET Core-feil i Linux feilbehandlingsapplikasjonspakke
https://www.itsvse.com/thread-9602-1-1.html
Hvis feilen er som følger:

Unntak for ubehandlet. System.TypeInitializationException: Typeinitializeren for 'Gdip' kastet et unntak.
---> System.DllNotFoundException: Kan ikke laste det delte biblioteket 'libgdiplus' eller en av dets avhengigheter. For å hjelpe med å diagnostisere lasteproblemer, vurder å sette LD_DEBUG miljøvariabelen: libgdiplus: kan ikke åpne delt objektfil: Ingen slik fil eller katalog
   på System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   på System.Drawing.SafeNativeMethods.Gdip.. cctor()
   --- Slutt på indre unntaksstakksporing ---
   på System.Drawing.SafeNativeMethods.Gdip.GdipLoadImageFromFile(Strengfilnavn, IntPtr&-bilde)
   på System.Drawing.Image.FromFile(Strengfilnavn, boolsk useEmbeddedColorManagement)
   på System.Drawing.Image.FromFile(Strengfilnavn)
   på ImageWatermark.Program.Main(String[] args)
Avbrutt
Bruk følgende kommandoInstaller libgdiplus-devel


Prøv å kjøre på nytt, og du kan se at utførelsen lyktes, som vist i følgende bilde:



Se på det vannmerkede bildet og åpne "57f2305a-6850-41af-80ab-8d2bf89569e5.jpg"-filen, effekten er som følger:



Oppdagelse,Kinesiske tegn er forvrengt, det er ikke noe problem med engelske tegn, sjekk fonten installert av systemet, kommandoen er som følger:



Hvis kommandoen ikke er tilgjengelig i systemet, må vi installere den relevante programvarepakken først, kommandoen er som følger:

Løsning, installer den kommersielt tilgjengelige google-noto-fonten med følgende kommando:



Endre fonten som brukes i kildekoden, publiser på nytt og last opp til serveren, og resultatet blir som følger:



Du kan se at du kan legge til et kinesisk vannmerke med følgende kode:

Nedlasting av kildekode:

Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snillSvare


(Slutt)




Foregående:.NET Core frigjør et enkelt filsti-problem
Neste:.NET/C# Rule Engine RulesEngine-veiledning
 Vert| Publisert 2021-6-16 14:10:48 |
Publisert 29.12.2022 11:49:27 |
Du kan se at du kan legge til et kinesisk vannmerke med følgende kode:
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com