En el món de les arts digitals i les fotografies, es poden crear efectes de la fantasia i de l’art de la nova vida en les imatges velles o planes. Aspose.La fantasia ofereix a .NET un fort conjunt d’eines per aconseguir-ho, que permet als desenvolupadors aplicar diferents tecnologies per a la processament d’imatges com el so de Sibi, la ruptura, la ruptura i molts altres.
Exemple complet
Per començar, deixem-nos enfonsar en un exemple complet, que mostra com aplicar molts efectes a la imatge en una i la mateixa отиде.Aquesta secció us passarà a través de tot el procés de descàrrega de la imatge, per proporcionar-lo amb els efectes necessaris aplicació.
// File: Program.cs
// NuGet: Aspose.Imaging
using System;
using System.IO;
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.ImageFilters.FilterOptions;
namespace ArtisticEffectsDemo
{
public static class Program
{
public static void Main(string[] args)
{
// Input and output
var input = args.Length > 0 ? args[0] : "input.jpg";
var outDir = args.Length > 1 ? args[1] : "out";
Directory.CreateDirectory(outDir);
// Optional: enable disk cache for large images/batches
// Aspose.Imaging.Cache.CacheType = Aspose.Imaging.Cache.CacheType.CacheOnDisk;
// Aspose.Imaging.Cache.CacheFolder = Path.GetFullPath(".imaging-cache");
// Aspose.Imaging.Cache.CacheSize = 512L * 1024 * 1024; // 512 MB
// 1) Sepia (pixel-based)
using (var img = Image.Load(input))
{
var raster = img as RasterImage
?? throw new InvalidOperationException("Not a raster image.");
ApplySepiaInPlace(raster);
raster.Save(Path.Combine(outDir, "sepia.png"), new PngOptions());
}
// 2) Gaussian blur (kernel filter)
using (var img = Image.Load(input))
{
var raster = img as RasterImage
?? throw new InvalidOperationException("Not a raster image.");
// Kernel size must be an odd positive value. Sigma controls smoothing strength.
var blur = new GaussianBlurFilterOptions(size: 5, sigma: 3.0);
raster.Filter(raster.Bounds, blur);
raster.Save(Path.Combine(outDir, "blur.png"), new PngOptions());
}
// 3) Emboss (convolution filter with custom kernel)
using (var img = Image.Load(input))
{
var raster = img as RasterImage
?? throw new InvalidOperationException("Not a raster image.");
// A classic 3x3 emboss kernel that simulates light from top-left
var kernel = new double[,]
{
{ -2, -1, 0 },
{ -1, 1, 1 },
{ 0, 1, 2 }
};
var emboss = new ConvolutionFilterOptions(kernel);
raster.Filter(raster.Bounds, emboss);
raster.Save(Path.Combine(outDir, "emboss.png"), new PngOptions());
}
Console.WriteLine("Effects created in: " + Path.GetFullPath(outDir));
}
/// <summary>
/// In-place sepia conversion using standard coefficients.
/// Works on the image pixel buffer for maximum control.
/// </summary>
private static void ApplySepiaInPlace(RasterImage raster)
{
// Load all pixels in one go
var rect = raster.Bounds;
var pixels = raster.LoadPixels(rect);
for (int i = 0; i < pixels.Length; i++)
{
var c = pixels[i];
// Standard sepia transform (clamped to 0..255)
double r = c.R;
double g = c.G;
double b = c.B;
int tr = ClampToByte(0.393 * r + 0.769 * g + 0.189 * b);
int tg = ClampToByte(0.349 * r + 0.686 * g + 0.168 * b);
int tb = ClampToByte(0.272 * r + 0.534 * g + 0.131 * b);
pixels[i] = Color.FromArgb(c.A, tr, tg, tb);
}
// Save pixels back
raster.SavePixels(rect, pixels);
}
private static int ClampToByte(double x)
{
if (x < 0) return 0;
if (x > 255) return 255;
return (int)Math.Round(x);
}
}
}
Pas per pas la prova
Primer pas: descarregar les fotos
El primer és descarregar la imatge que voleu editar. Aspose.Presenta la fantasia de manera senzilla per a això:
Image image = Image.Load("path/to/your/image.jpg");
Pas 2: Utilitza l’efecte de la to Sepia
El to de Sepia dóna a les imatges una vella aparició, esmentant les imatges del començament del segle XX::.:
// Apply Sepia Tone Effect
using (Image image = Image.Load("path/to/your/image.jpg"))
{
image.Filter(new SepiaFilter());
}
Pas 3: Afegir text
Afegeix un teixit de tres dimensions al teu rostre, que els fa semblar que estan estirats o aixecats de la superfície::.:
// Apply sepia tone effect to the image
using (SepiaFilter sepia = new SepiaFilter())
{
sepia.Apply(image);
}
Pas 4: Esmorzar la foto per la bondat
Pot calmar les extremitats de la imatge i reduir el soroll, que li dóna una aparença somniant.Aquí és com aplicar soroll de gas amb l’ajuda de Aspose.:
// Apply embossing effect to create a textured appearance
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load("path/to/image.jpg"))
{
Aspose.Imaging.Filters.FilterInfo embossFilter = new Aspose.Imaging.ImageFilters.FilterInfo(Aspose.Imaging.ImageFilters.FilterType.Emboss);
image.Filter(embossFilter);
}
Quinquè pas: Conservar la imatge modificada
Després d’aplicar tots els efectes necessaris, guardar la imatge modificada en el disc o en qualsevol lloc per a l’emmagatzematge de la vostra elecció:
image.Save("path/to/save/modified_image.jpg", new JpegOptions());
Les millors pràctiques
Quan treballes amb els efectes de la imatge en .NET, és important tenir en compte els efectes de la realització, per aplicar molts efectes.Cada efecte pot ser una font intensa, de manera que és bo que provi amb cura i millori la seva aplicació, quan sigui necessari.
A més, l’experiència amb diversos conjunt d’efectes pot portar a resultats únics i creatius.No dubteu a explorar fora de l’exemple presentat aquí i descobrir noves maneres de millorar les vostres fotografies.
A través de seguir aquest guia, ha de tenir una base forta per crear efectes fantàstics i tècnics sobre les imatges amb l’ajuda de Aspose.Imaging per .NET.!
More in this category
- Optimitzar els gifs animats en .NET utilitzant Aspose.Imaging
- Optimitzar TIFFs multipages per a l'arxiu en .NET amb Aspose
- Animacions de dades en .NET amb Aspose.Imaging
- Comparació Lossy vs. Lossless Image Compression en .NET utilitzant Aspose.Imaging
- Compressió d'imatge sense pèrdues i de qualitat en .NET amb Aspose.Imaging