Akıllı filtreler, bir görüntünün tahribatsız bir şekilde düzenlenmesini sağlamak için kullanılır. Filtre ayarlarını korudukları için yeniden düzenlenebilirler ve gerekirse ayarlanabilir veya görüntüden kaldırılabilirler. Ayrıca, katmanın akıllı bir nesne olması koşuluyla bir veya daha fazla akıllı filtre ekleyebilirsiniz. Bu makale, akıllı filtrelerin nasıl düzenleneceğini ve güncelleneceğini ve GaussianBlurSmartFilter, AddNoiseSmartFilter gibi yeni filtrelerin C# dilinde programlı olarak bir görüntüye nasıl ekleneceğini kapsar.
- PSD Dosyasında Akıllı Filtreler ve Akıllı Nesnelerle Çalışma – C# API Kurulumu
- C#’ta Akıllı Filtreler ve Akıllı Nesneler Ekleme, Düzenleme ve Güncelleme
PSD Dosyasında Akıllı Filtreler ve Akıllı Nesnelerle Çalışma – C# API Kurulumu
C# .NET’te programlı olarak PSD görüntüleri ile çalışmak için Aspose.PSD for .NET API’sini kurmanız gerekir. İndirilenler bölümünden DLL dosyasını hızlı bir şekilde indirin veya Visual Studio IDE’de NuGet kurulum komutunu kullanın:
PM> Install-Package Aspose.PSD
C#’ta Akıllı Filtreler ve Akıllı Nesneler Ekleme, Düzenleme ve Güncelleme
Aşağıdaki adımları izleyerek bir PSD dosyasındaki akıllı nesneleri düzenleyebilir, güncelleyebilir veya bunlara yeni akıllı filtreler ekleyebilirsiniz:
- Image sınıfını kullanarak giriş PSD görüntüsünü yükleyin.
- Giriş dosyasından akıllı nesne katmanını yükleyin.
- Akıllı filtreyi düzenleyin ve yarıçap, karışım modu, opaklık vb. özelliklerini kontrol edin.
- Filtre özelliklerini güncelleyin ve Gauss bulanıklığı, Gürültü Ekle vb. gibi yeni akıllı filtreler ekleyin.
- Çıktı dosyasını güncellenmiş filtrelerle kaydedin ve güncellenen özellikleri kontrol edin.
Aşağıdaki kod parçacığı, C# dilinde programlı olarak bir PSD görüntüsündeki akıllı nesneler üzerinde akıllı filtrelerin nasıl düzenleneceğini, güncelleneceğini veya ekleneceğini gösterir:
var sourceFilter = "r2_SmartFilters.psd";
var outputPsd = "output.psd";
using (var image = (PsdImage)Image.Load(sourceFilter))
{
SmartObjectLayer smartObj = (SmartObjectLayer)image.Layers[1];
// akıllı filtreleri düzenle
GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];
// filtre değerlerini kontrol et
Console.WriteLine("Radius: " + gaussianBlur.Radius); // 3.1
Console.WriteLine("Blend Mode: " + gaussianBlur.BlendMode); // BlendMode.Dissolve
Console.WriteLine("Opacity: " + gaussianBlur.Opacity); // 90d
Console.WriteLine("GuassianBlurEnabled: " + gaussianBlur.IsEnabled); // true
// filtre değerlerini güncelle
gaussianBlur.Radius = 1;
gaussianBlur.BlendMode = BlendMode.Divide;
gaussianBlur.Opacity = 75;
gaussianBlur.IsEnabled = false;
AddNoiseSmartFilter addNoise = (AddNoiseSmartFilter)smartObj.SmartFilters.Filters[1];
addNoise.Distribution = NoiseDistribution.Uniform;
// yeni filtre öğeleri ekle
var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
filters.Add(new GaussianBlurSmartFilter());
filters.Add(new AddNoiseSmartFilter());
smartObj.SmartFilters.Filters = filters.ToArray();
// değişiklikleri uygula
smartObj.SmartFilters.UpdateResourceValues();
// Filtre uygula
smartObj.SmartFilters.Filters[0].Apply(image.Layers[2]);
smartObj.SmartFilters.Filters[4].ApplyToMask(image.Layers[2]);
image.Save(outputPsd);
}
using (var image = (PsdImage)Image.Load(outputPsd))
{
SmartObjectLayer smartObj = (SmartObjectLayer)image.Layers[1];
GaussianBlurSmartFilter gaussianBlur = (Aspose.PSD.FileFormats.Psd.Layers.SmartFilters.GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];
// filtre değerlerini kontrol et
Console.WriteLine("\n\n");
Console.WriteLine("Radius: " + gaussianBlur.Radius); // 1d
Console.WriteLine("Blend Mode: " + gaussianBlur.BlendMode); // BlendMode.Divide
Console.WriteLine("Opacity: " + gaussianBlur.Opacity); // 75d
Console.WriteLine("GuassianBlurEnabled: " + gaussianBlur.IsEnabled); // false
Console.WriteLine(smartObj.SmartFilters.Filters[5] is GaussianBlurSmartFilter); // true
Console.WriteLine(smartObj.SmartFilters.Filters[6] is AddNoiseSmartFilter); // true
}
Aşağıdaki ekran görüntüsü, yukarıdaki kod parçacığını çalıştırdıktan sonra konsolda üretilen örnek çıktıyı göstermektedir:
Ayrıca, giriş ve çıkış dosyalarını referans olarak bu bağlantıdan indirebilirsiniz.
API Özelliklerini Keşfedin
PSD ve diğer görüntülerle çalışmak için birçok başka sınıf ve özellik vardır. Daha fazla bilgi için belgeler bölümünü ziyaret edebilirsiniz.
Ücretsiz Değerlendirme Lisansı Alın
Ücretsiz geçici lisans talep ederek API’yi herhangi bir değerlendirme sınırlaması olmaksızın değerlendirebilirsiniz.
Çözüm
Bu makalede, C# dilinde programlı olarak bir PSD görüntüsündeki Akıllı Nesneler üzerinde Akıllı Filtreler ile nasıl çalışılacağını öğrendiniz. Bir görüntüdeki mevcut akıllı filtrelerin nasıl düzenleneceğini ve güncelleneceğini ve bir görüntüye GaussianBlurSmartFilter, AddNoiseSmartFilter vb. gibi yeni akıllı filtrelerin nasıl ekleneceğini tartışır. Ayrıca burada dikkat edilmesi gereken nokta, API’nin başka bir araca bağımlı olmaması nedeniyle, bu özellikle çalışmak için herhangi bir Photoshop veya başka bir görüntü işleme uygulaması yüklemenize gerek olmamasıdır. Herhangi bir sorunuz veya endişeniz varsa, lütfen forumdan bize yazın.