في عالم الفنون الرقمية والتصوير الفوتوغرافي، يمكن أن يخلق تأثيرات فينتاغ والفنية الحياة الجديدة في الصور القديمة أو المسطحة. Aspose.تقدم الخيال ل .NET مجموعة قوية من الأدوات لتحقيق هذا، مما يسمح للمطورين لتطبيق تقنيات معالجة الصور المختلفة مثل نغمة سيبيا، التمزق، التمزق، وأكثر من ذلك.
مثال كامل
لبدء، دعونا نغوص في مثال كامل يظهر كيفية تطبيق العديد من التأثيرات على صورة في واحد الذهاب.هذا القسم سوف يمر لك من خلال العملية بأكملها من تحميل صورة لتوفيرها مع التأثيرات المطلوبة تطبيق.
// 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);
}
}
}
خطوة بخطوة دليل
الخطوة الأولى: تحميل الصور
الخطوة الأولى هي تحميل الصورة التي تريد تعديلها. Aspose.تقدم الخيال طريقة بسيطة لهذا:
Image image = Image.Load("path/to/your/image.jpg");
الخطوة 2: تطبيق Sepia Tone Effect
يمنح نغمة Sepia الصور مظهرًا عجوزًا ، يذكر الصور من بداية القرن العشرين.:
// Apply Sepia Tone Effect
using (Image image = Image.Load("path/to/your/image.jpg"))
{
image.Filter(new SepiaFilter());
}
الخطوة 3: إضافة إدخال النص
يضيف التخطيط نسيج ثلاثي الأبعاد إلى صورتك ، مما يجعلها تبدو وكأنها تم طحنها أو رفعها من السطح.:
// Apply sepia tone effect to the image
using (SepiaFilter sepia = new SepiaFilter())
{
sepia.Apply(image);
}
الخطوة 4: قم بتخفيف الصورة من أجل اللطيف
يمكن أن يهدئ الصورة حوافها ويقلل من الضوضاء ، مما يمنحها مظهرًا حلميًا.هنا كيفية تطبيق الضوضاء الغازية باستخدام 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);
}
الخطوة الخامسة: حفظ الصورة المعدلة
بمجرد تطبيق جميع التأثيرات المطلوبة، حفظ الصورة المعدلة على القرص أو أي موقع تخزين من اختيارك:
image.Save("path/to/save/modified_image.jpg", new JpegOptions());
أفضل الممارسات
عند العمل مع تأثيرات الصورة في Aspose.تصور ل .NET، فمن المهم أن نأخذ في الاعتبار تأثيرات الأداء لتطبيق العديد من التأثيرات.كل تأثير يمكن أن يكون مكثف الموارد، لذلك فمن الجيد اختبار التطبيق الخاص بك بعناية وتحسين حيث هو مطلوب.
بالإضافة إلى ذلك، يمكن أن يؤدي التجربة مع مجموعات مختلفة من التأثيرات إلى نتائج فريدة ومبدعة.لا تتردد في استكشاف ما وراء الأمثلة المقدمة هنا واكتشاف طرق جديدة لتحسين صورك.
من خلال اتباع هذا الدليل ، يجب أن يكون لديك الآن أساسًا قويًا لإنشاء تأثيرات فينتاغية وفنية على الصور باستخدام Aspose.Imaging for .NET.!