요구사항: 이제 .NET Core가 크로스 플랫폼이 가능해졌으니, 프로젝트를 리눅스 환경에 배포해 실행해야 하며, 프로젝트에는 검증 코드 생성, 이미지 워터마킹 등 이미지 처리가 포함될 것입니다.
먼저, .NET Core 3.1 콘솔 프로젝트를 생성하세요(소스 코드는 기사 마지막에 첨부되어 있습니다). 그리고 이미지 처리를 설치해야 합니다:시스템.도면.공통
nuget 패키지를 사용하여 다음 명령어로 설치를 관리하세요:
프로젝트를 단일 파일로 게시하세요. 대상 플랫폼은 linux-x64이고, 게시 구성은 다음과 같습니다:
<?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>개봉</Configuration> <Platform>어떤 CPU 상관없어요</Platform> <PublishDir>bin\Release\netcoreApp3.1\publish\</PublishDir> <PublishProtocol>파일 시스템</PublishProtocol> <TargetFramework>넷코어앱3.1</TargetFramework> <RuntimeIdentifier>Linux-x64</RuntimeIdentifier> <SelfContained>맞아요</SelfContained> <PublishSingleFile>맞아요</PublishSingleFile> <PublishTrimmed>거짓</PublishTrimmed> </PropertyGroup> </Project> (생성된 단일 실행 파일은 실제로 프로그램 실행에 필요한 환경을 포함하고 있으며, 대상 컴퓨터가 SDK를 설치할 필요가 없으며, 단점은 파일 크기가 매우 커진다는 점입니다.)
게시된 파일을 CentOS 서버에 업로드하고,파일에 실행 권한을 부여하세요! 그렇지 않으면 다음 명령어로 프로그램이 실행되지 않습니다:
그 파일을 실행하면 다음과 같은 문제가 발생할 수 있습니다:
오류가 다음과 같다면:
처리되지 않은 예외. System.TypeInitializationException: 'Gdip'의 타입 초기화자가 예외를 던졌습니다. ---> System.DllNotFoundException: 공유 라이브러리 'libgdiplus' 또는 그 의존성 중 하나를 로드할 수 없습니다. 로딩 문제를 진단하는 데 도움이 되려면, LD_DEBUG 환경 변수인 libgdiplus: shared object 파일을 열 수 없음: No such file or directory를 설정하는 것을 고려해 보세요. at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output) System.Drawing.SafeNativeMethods.Gdip.에서 cctor() --- 내부 예외 스택 추적 종료 --- at System.Drawing.SafeNativeMethods.Gdip.GdipLoadImageFromFile(String filename, IntPtr& image) at System.Drawing.Image.FromFile(문자열 파일명, 불리언 useEmbeddedColorManagement) System.Drawing.Image.FromFile(문자열 파일명) ImageWatermark.Program.Main(String[] args) 중단됨 다음 명령어를 사용하세요Install libgdiplus-devel:
다시 실행해 보면, 다음 이미지에서 보듯이 실행이 성공한 것을 확인할 수 있습니다:
워터마크가 표시된 이미지를 보고 "57f2305a-6850-41af-80ab-8d2bf89569e5.jpg" 파일을 열면 효과는 다음과 같습니다:
디스커버리,한자가 뒤섞여 있습니다, 영어 문자에는 문제가 없습니다. 시스템에 설치된 글꼴을 확인하세요. 명령어는 다음과 같습니다:
만약 해당 명령어가 시스템에 없다면, 먼저 해당 소프트웨어 패키지를 설치해야 하며, 명령어는 다음과 같습니다:
해결책은 다음 명령어로 오픈소스 상업용 구글-노토 글꼴을 설치하는 것입니다:
소스 코드에 사용된 글꼴을 수정하고, 재게시 후 서버에 업로드하면 실행 결과는 다음과 같습니다:
다음 코드로 중국어 워터마크를 성공적으로 추가할 수 있음을 알 수 있습니다:
소스 코드 다운로드:
관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다 회답
(끝)
|