2015-10-26 18 views
34

Zaktualizowałem swój projekt z .NET 4.5 do .NET Core (z rdzeniem ASP.NET Core). W mojej poprzedniej wersji miałem bardzo prosty kod, który używał obiektu bitmapowego z System.Drawing do zmiany rozmiaru obrazu.Manipulowanie obrazami za pomocą .NET Core

Jak rozumiem, System.Drawing nie można używać w .NET Core, ponieważ nie jest to platforma krzyżowa, ale co można zamiast tego wykorzystać?

Mam googleed to i nie mogę znaleźć niczego. Jedyne co mogę znaleźć to: this post, który nie ma na nim żadnego kodu.

+0

Znaleziono [this] (http://imageresizing.net/) na połączonym githubie. Pomocny? – SimpleVar

+0

Możliwy duplikat [Zmień rozmiar obrazów za pomocą MVC 6 na Ubuntu z ASP.NET 5 na Mono] (http://stackoverflow.com/questions/36643720/resize-images-with-mvc-6-on-ubuntu-running-asp -net-5-on-mono) –

+0

Moim zdaniem zespół .NET (Core) nadal omawia to z zespołem Xamarin. Xamarin zbudował bibliotekę o nazwie SkiaSharp, która jest opakowaniem dla wieloplatformowej biblioteki Skia, która ponownie jest biblioteką graficzną Google Chrome. Działa pod systemem Android, iOS, Linux, Windows, itp., Które sprawiają, że idealnie pasuje do .NET Core. Ale na dzień dzisiejszy nie zakończyli go dla .NET Core (https://blog.xamarin.com/cross-platform-2d-graphics-with-skiasharp/). Moje założenia idą, że ta biblioteka będzie przyszłością dla .NET Core i rysunku. – Thomas

Odpowiedz

27

Nota prawna: To jest moje oprogramowanie.

Pracuję na wieloplatformowej bibliotece grafiki 2D działającej w środowisku .NET Core. Obecnie jest to alfa, ale już obsługuje kompleksowy zestaw funkcji.

https://github.com/JimBobSquarePants/ImageSharp

Przykład użycia.

using (FileStream stream = File.OpenRead("foo.jpg")) 
using (FileStream output = File.OpenWrite("bar.jpg")) 
{ 
    Image image = new Image(stream); 
    image.Resize(image.Width/2, image.Height/2) 
     .Greyscale() 
     .Save(output); 
} 
+0

A co z rysowaniem na określonym kanwie systemu operacyjnego? czy ktokolwiek je pobrał z dala od systemu operacyjnego? – eschneider

+0

Masz na myśli strukturę interfejsu użytkownika? https://github.com/AvaloniaUI/Avalonia –

+0

TK posiada bibliotekę .Net Core dla grafiki. Oczekuję w końcu od biblioteki UI, ale może zawijać TK. – IAbstract

16

Znalazłem implementację System.Drawing NET Rdzenia opartej na źródłach Mono jest utrzymywana na:

Pakiet Nuget jest pod adresem:

których można odwołać go w .NET Rdzeń aplikacji project.json z:

{ 
    "dependencies": { 
    "CoreCompat.System.Drawing": "1.0.0-beta006", 
    ... 
    }, 
} 
+2

To jest wstępne oprogramowanie, więc upewnij się, że zaznaczono pole "pokaż wersję wstępną". – user3791372

Powiązane problemy