Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 50580|Odgovoriti: 2

[.NET Core] Težave z vodnimi žigi pri .NET Core na slikah Linuxa

[Kopiraj povezavo]
Objavljeno 28. 3. 2021 ob 14:46:15 | | | |
Zahteve: Zdaj, ko je .NET Core lahko večplatformski, objavite projekt v Linux okolju za zagon, projekt pa bo vključeval nekaj obdelave slik, kot so: generiranje verifikacijskih kod, označevanje slik z vodnimi žigi itd.

Najprej ustvarite konzolni projekt .NET Core 3.1 (izvorna koda je priložena na koncu članka) in namestiti obdelavo slik:System.Drawing.Common

Uporabite paket nuget za upravljanje namestitve z naslednjim ukazom:


Projekt objavite kot eno datoteko, ciljna platforma je: linux-x64, konfiguracija objave pa je naslednja:

<?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>Izdaja</Configuration>
    <Platform>Kateri koli procesor</Platform>
    <PublishDir>bin\Release\netcoreapp3.1\publish\</PublishDir>
    <PublishProtocol>Datotečni sistem</PublishProtocol>
    <TargetFramework>NetcoreApp3.1</TargetFramework>
    <RuntimeIdentifier>linux-x64</RuntimeIdentifier>
    <SelfContained>res</SelfContained>
    <PublishSingleFile>Res je</PublishSingleFile>
    <PublishTrimmed>Napačno</PublishTrimmed>
  </PropertyGroup>
</Project>
Generirana ena sama izvršljiva datoteka dejansko vsebuje okolje, potrebno za izvajanje programa, ciljni računalnik pa ni potrebe, da namesti SDK, slabost pa je, da bo velikost datoteke postala zelo velika.

Naložite objavljeno datoteko na strežnik CentOS, inDodelite datoteki dovoljenja za izvajanje! V nasprotnem primeru program ne bo deloval z naslednjim ukazom:


Nato zaženite datoteko in težave, s katerimi se lahko srečate, so naslednje:

.NET Core sprošča težavo z eno samo potjo do datoteke
https://www.itsvse.com/thread-9604-1-1.html

.NET Core Linux napaka: Nisem našel veljavnega ICU paketa...
https://www.itsvse.com/thread-9603-1-1.html

.NET Core napaka v paketu aplikacij Linux Failure Processing
https://www.itsvse.com/thread-9602-1-1.html
Če je napaka naslednja:

Neobdelana izjema. System.TypeInitializationException: Inicializator tipa za 'Gdip' je vrgel izjemo.
---> System.DllNotFoundException: Ni mogoče naložiti skupne knjižnice 'libgdiplus' ali katere od njenih odvisnosti. Za lažjo diagnozo težav z nalaganjem razmislite o nastavitvi LD_DEBUG okoljske spremenljivke: liblibgdiplus: ni mogoče odpreti datoteke deljenih objektov: Ni takšne datoteke ali imenika
   na System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   na System.Drawing.SafeNativeMethods.Gdip.. cctor()
   --- Konec notranjega sledenja sklada izjem ---
   na System.Drawing.SafeNativeMethods.Gdip.GdipLoadImageFromFile(Ime datoteke v nizu, IntPtr& image)
   na System.Drawing.Image.FromFile(String file name, Boolean useEmbeddedColorManagement)
   na System.Drawing.Image.FromFile(Ime datoteke v nizu)
   at ImageWatermark.Program.Main(String[] args)
Prekinitev
Uporabite naslednji ukazInstall libgdiplus-devel


Poskusite ponovno izvesti in ugotovili boste, da je izvedba uspela, kot je prikazano na naslednji sliki:



Oglejte si sliko z vodnim žigom in odprite datoteko "57f2305a-6850-41af-80ab-8d2bf89569e5.jpg", učinek je naslednji:



Odkritje,Kitajski znaki so nerazumljivi, z angleškimi znaki ni težav, preverite pisavo, ki jo je namestil sistem, ukaz je naslednji:



Če ukaz ni na voljo v sistemu, moramo najprej namestiti ustrezni programski paket, ukaz je naslednji:

Rešitev: namestite odprtokodno komercialno dostopno pisavo google-noto z naslednjim ukazom:



Spremenite pisavo, uporabljeno v izvorni kodi, ponovno objavite in naložite na strežnik, rezultat izvajanja pa je naslednji:



Vidite, da lahko uspešno dodate kitajski vodni žig z naslednjo kodo:

Prenos izvorne kode:

Turisti, če želite videti skrito vsebino te objave, prosimOdgovoriti


(Konec)




Prejšnji:.NET Core sprošča težavo z eno samo potjo do datoteke
Naslednji:.NET/C# Uvod za pogon pravil Uvodnik Pogon
 Najemodajalec| Objavljeno 16. 6. 2021 ob 14:10:48 |
Objavljeno 29. 12. 2022 ob 11:49:27 |
Vidite, da lahko uspešno dodate kitajski vodni žig z naslednjo kodo:
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com