Binariser les EPS via C#
Créez vos propres applications .NET pour binariser les fichiers EPS à l’aide d’API côté serveur.
Comment binariser les fichiers EPS à l'aide de C#
L’invention du film couleur a marqué une étape importante dans le domaine de la photographie. Cependant, la photographie classique est intrinsèquement liée à l’imagerie en noir et blanc. Malgré les capacités techniques étendues des appareils photo pour capturer tout le spectre des couleurs, de nombreuses personnes optent pour le monochrome, transformant leurs images en noir et blanc. Dans de tels cas, une fonction de binarisation entre en jeu, convertissant tous les pixels en valeurs binaires : « 0 » pour le blanc et « 1 » pour le noir. Dans d’autres scénarios, cette conversion n’est pas motivée par des choix artistiques mais pratiques, comme la préparation d’illustrations en noir et blanc à imprimer dans des livres ou des journaux. À l’aide de la bibliothèque graphique C#, vous pouvez désigner un seuil de luminosité des pixels. Les pixels dont les valeurs de luminosité sont inférieures à ce seuil deviendront noirs, tandis que ceux au-dessus deviendront blancs. Vous pouvez également utiliser une méthode de binarisation adaptative qui prend en compte les valeurs des pixels dans la zone environnante. Cette approche permet d’obtenir des transitions plus douces entre les limites de couleurs dans l’image en noir et blanc résultante. Afin de binariser les fichiers EPS, nous utiliserons Aspose.Imaging pour .NET API qui est une API de manipulation et de conversion d’images riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme C #. Ouvrir NuGet gestionnaire de paquets, recherchez Aspose.Imaging et installer. Vous pouvez également utiliser la commande suivante à partir de la console du gestionnaire de packages.
Commande de la console du gestionnaire de packages
PM> Install-Package Aspose.Imaging
Étapes pour binariser les EPS via C#
Vous avez besoin du aspose.imaging.dll pour essayer le workflow suivant dans votre propre environnement.
- Charger les fichiers EPS avec la méthode Image.Load
- Binariser les images ;
- Enregistrer l’image compressée sur le disque au format pris en charge par Aspose.Imaging
Configuration requise
Aspose.Imaging pour .NET est pris en charge sur tous les principaux systèmes d’exploitation. Assurez-vous simplement que vous disposez des prérequis suivants.
- Microsoft Windows ou un système d’exploitation compatible avec .NET Framework, .NET Core, Windows Application, ASP.NET Web Application.
- Environnement de développement comme Microsoft Visual Studio.
- Aspose.Imaging pour .NET référencé dans votre projet.
Binariser les images EPS - .NET
using Aspose.Imaging; | |
using Aspose.Imaging.FileFormats.Bmp; | |
using Aspose.Imaging.FileFormats.Dicom; | |
using Aspose.Imaging.FileFormats.Emf; | |
using Aspose.Imaging.FileFormats.Jpeg; | |
using Aspose.Imaging.FileFormats.Jpeg2000; | |
using Aspose.Imaging.FileFormats.Png; | |
using Aspose.Imaging.FileFormats.Psd; | |
using Aspose.Imaging.FileFormats.Tiff.Enums; | |
using Aspose.Imaging.ImageFilters.FilterOptions; | |
using Aspose.Imaging.ImageOptions; | |
using Aspose.Imaging.Masking; | |
using Aspose.Imaging.Masking.Options; | |
using Aspose.Imaging.Masking.Result; | |
using Aspose.Imaging.Sources; | |
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
using System.Linq; | |
string templatesFolder = @"c:\Users\USER\Downloads"; | |
BinarizeFixed(); | |
void BinarizeOtsu() | |
{ | |
FilterImages(image => | |
{ | |
//https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/binarizeotsu | |
image.BinarizeOtsu(); | |
}, "binarizeotsu"); | |
} | |
void BinarizeBradley() | |
{ | |
FilterImages(image => | |
{ | |
//https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/binarizebradley/index | |
image.BinarizeBradley(0.5); | |
}, "binarizebradley"); | |
} | |
void BinarizeFixed() | |
{ | |
FilterImages(image => | |
{ | |
//https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/binarizefixed | |
image.BinarizeFixed(70); | |
}, "binarizefixed"); | |
} | |
void FilterImages(Action<RasterImage> doFilter, string filterName) | |
{ | |
List<string> rasterFormats = new List<string>() { "jpg", "png", "bmp", "apng", "dicom", | |
"jp2", "j2k", "tga", "webp", "tif", "gif", "ico" }; | |
List<string> vectorFormats = new List<string>() { "svg", "otg", "odg", "eps", "wmf", "emf", "wmz", "emz", "cmx", "cdr" }; | |
List<string> allFormats = new List<string>(rasterFormats); | |
allFormats.AddRange(vectorFormats); | |
allFormats.ForEach( | |
formatExt => | |
{ | |
var inputFile = Path.Combine(templatesFolder, $"template.{formatExt}"); | |
bool isVectorFormat = vectorFormats.IndexOf(formatExt) > -1; | |
//Need to rasterize vector formats before background remove | |
if (isVectorFormat) | |
{ | |
inputFile = RasterizeVectorImage(formatExt, inputFile); | |
} | |
var outputFile = Path.Combine(templatesFolder, $"{filterName}_{formatExt}.png"); | |
Console.WriteLine($"Processing {formatExt}"); | |
using (var image = (RasterImage)Image.Load(inputFile)) | |
{ | |
doFilter(image); | |
//If image is multipage save each page to png to demonstrate results | |
if (image is IMultipageImage multiPage && multiPage.PageCount > 1) | |
{ | |
for (var pageIndex = 0; pageIndex < multiPage.PageCount; pageIndex++) | |
{ | |
string fileName = $"{filterName}_page{pageIndex}_{formatExt}.png"; | |
multiPage.Pages[pageIndex].Save(templatesFolder + fileName, new PngOptions()); | |
File.Delete(templatesFolder + fileName); | |
} | |
} | |
else | |
{ | |
image.Save(outputFile, new PngOptions()); | |
File.Delete(outputFile); | |
} | |
} | |
//Remove rasterized vector image | |
if (isVectorFormat) | |
{ | |
File.Delete(inputFile); | |
} | |
} | |
); | |
} | |
string RasterizeVectorImage(string formatExt, string inputFile) | |
{ | |
string outputFile = Path.Combine(templatesFolder, $"rasterized.{formatExt}.png"); | |
using (var image = Image.Load(inputFile)) | |
{ | |
image.Save(outputFile, new PngOptions()); | |
} | |
return outputFile; | |
} |
À propos de l'API Aspose.Imaging pour .NET
Aspose.Imaging API est une solution de traitement d’images pour créer, modifier, dessiner ou convertir des images (photos) au sein d’applications. Il offre : le traitement d’image multiplateforme, y compris, mais sans s’y limiter, les conversions entre différents formats d’image (y compris le traitement d’image multipage ou multicadre uniforme), les modifications telles que le dessin, l’utilisation de primitives graphiques, les transformations (redimensionner, recadrer, retourner et faire pivoter , binarisation, niveaux de gris, ajustement), fonctionnalités avancées de manipulation d’images (filtrage, tramage, masquage, redressement) et stratégies d’optimisation de la mémoire. C’est une bibliothèque autonome et ne dépend d’aucun logiciel pour les opérations d’image. On peut facilement ajouter des fonctionnalités de conversion d’image hautes performances avec des API natives dans les projets. Ce sont des API sur site 100 % privées et les images sont traitées sur vos serveurs.Binariser les EPS via l’application en ligne
Binarisez les documents EPS en visitant notre site Web de démonstrations en direct . La démo en direct présente les avantages suivants
EPS Qu'est-ce que EPS Format de fichier
Les fichiers avec l'extension EPS décrivent essentiellement un programme de langage PostScript encapsulé qui décrit l'apparence d'une seule page. Le nom "Encapsulé" car il peut être inclus ou encapsulé dans une autre description de page en langage PostScript. Ce format de fichier basé sur un script peut contenir n'importe quelle combinaison de texte, de graphiques et d'images. Les fichiers EPS peuvent inclure une image d'aperçu bitmap encapsulée à l'intérieur pour être affichée par des applications pouvant ouvrir de tels fichiers. Les fichiers EPS peuvent être convertis en formats d'image standard tels que JPG, PNG, TIFF et PDF à l'aide de différentes applications, par ex. Adobe Illustrator, Photoshop et PaintShop Pro. En raison d'une faille de sécurité dans les fichiers EPS, Office 2016, Office 2013, Office 2010 et Office 365 ont désactivé la possibilité d'insérer des fichiers EPS dans des documents Office.
Lire la suiteAutres formats de binarisation pris en charge
En utilisant C#, on peut facilement binariser différents formats, y compris.