J'ai mis à jour mon projet de .NET 4.5 vers .NET Core (avec ASP.NET Core). J'avais un code très simple dans ma version précédente qui utilisait l'objet bitmap de System.Drawing
pour redimensionner une image.
Tel que je le comprend System.Drawing
ne peut pas être utilisé dans .NET Core car ce n’est pas une plate-forme croisée, mais que peut-on utiliser à la place?
J'ai googlé cela et je ne trouve rien. La seule chose que je puisse trouver est this post, qui ne comporte aucun code.
Avertissement: Ceci est mon logiciel.
Je travaille sur une bibliothèque graphique 2D multi-plateformes qui fonctionne sur .NET Core. Elle est actuellement alpha mais prend déjà en charge un ensemble complet de fonctionnalités.
https://github.com/JimBobSquarePants/ImageSharp
Exemple d'utilisation.
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);
}
Vous pouvez utiliser maintenant officiel (de Microsoft) System.Drawing.Common Paquet NuGet.
J'ai trouvé une implémentation de System.Drawing pour .NET Core basée sur les sources de Mono conservées à l'adresse suivante:
Le paquet NuGet est à:
Vous pouvez le référencer dans le project.json
De votre application .NET Core avec:
{
"dependencies": {
"CoreCompat.System.Drawing": "1.0.0-beta006",
...
},
}