Resim Oluşturma, Açma ve Kaydetme

Resim Dosyaları Oluşturma

Aspose.PSD for .NET, geliştiricilere kendi resimlerini oluşturma imkanı sunar. Yeni resimler oluşturmak için Image sınıfı tarafından sağlanan statik Create yöntemini kullanın. Yalnızca istenen çıkış resim formatı için ImageOptions alanından bir sınıfın uygun nesnesini sağlamanız yeterlidir. Bir resim dosyası oluşturmak için öncelikle ImageOptions alanından bir sınıfın örneğini oluşturun. Bu sınıflar çıkış resim formatını belirler. Aşağıda ImageOptions alanından bazı sınıflar bulunmaktadır (şu anda yalnızca PSD dosya format ailesi oluşturma için desteklenmektedir):

PsdOptions, PSD dosyası oluşturmak için seçenekleri belirler. Resim dosyaları, bir çıkış yolunu ayarlayarak veya bir akışı ayarlayarak oluşturulabilir.

Yol Ayarıyla Oluşturma

ImageOptions alanından PsdOptions oluşturun ve çeşitli özellikleri ayarlayın. Ayarlanması gereken en önemli özellik Kaynak özelliğidir. Bu özellik, resim verilerinin ne yerde bulunduğunu belirler (bir dosyada veya bir akışta). Aşağıdaki örnekte, kaynak bir dosyadır. Özellikleri ayarladıktan sonra, nesneyi bir genişlik ve yükseklik parametresi ile birlikte statik Create yöntemlerinden birine geçirin. Genişlik ve yükseklik piksellerle belirlenir.

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
// Creates an instance of PsdOptions and set its various properties
PsdOptions psdOptions = new PsdOptions();
psdOptions.CompressionMethod = CompressionMethod.RLE;
// Define the source property for the instance of PsdOptions. Second boolean parameter determines if the file is temporal or not
psdOptions.Source = new FileCreateSource(desName, false);
// Creates an instance of Image and call Create method by passing the PsdOptions object
using (Image image = Image.Create(psdOptions, 500, 500))
{
image.Save();
}

Akış Kullanarak Oluşturma

Bir akışı kullanarak bir resim oluşturma süreci, bir yol kullanarak oluşturmaya benzer. Tek fark, StreamSource örneği oluşturmanız ve Kaynak özelliğine bir Stream nesnesini geçirerek atamanız gerektiğidir.

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
string desName = dataDir + "CreatingImageUsingStream_out.bmp";
// Creates an instance of BmpOptions and set its various properties
BmpOptions ImageOptions = new BmpOptions();
ImageOptions.BitsPerPixel = 24;
// Create an instance of System.IO.Stream
Stream stream = new FileStream(dataDir + "sample_out.bmp", FileMode.Create);
// Define the source property for the instance of BmpOptions Second boolean parameter determines if the Stream is disposed once get out of scope
ImageOptions.Source = new StreamSource(stream, true);
// Creates an instance of Image and call Create method by passing the BmpOptions object
using (Image image = Image.Create(ImageOptions, 500, 500))
{
// Do some image processing
image.Save(desName);
}

Resim Dosyalarını Açma

Geliştiriciler, mevcut PSD resim dosyalarını farklı amaçlarla açmak için Aspose.PSD for .NET API’yı kullanabilirler, örneğin resme efektler eklemek veya mevcut bir dosyayı başka bir formata dönüştürmek. Amacınız ne olursa olsun, Aspose.PSD, mevcut dosyaları açmak için iki standart yol sağlar: dosyadan veya akıştan.

Diskten Açma

Image sınıfının eklediği Load yöntemine yol ve dosya adını parametre olarak geçirerek bir resim dosyasını açın.

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
string sourceFile = dataDir + @"sample.psd";
string destName = dataDir + "result.png";
// load PSD image and replace the non found fonts.
using (Image image = Image.Load(sourceFile))
{
PsdImage psdImage = (PsdImage)image;
psdImage.Save(destName, new PngOptions());
}

Akış Kullanarak Açma

Açmamız gereken resmin bazen bir akış olarak saklandığı durumlar olabilir. Bu durumlarda, Load yönteminin aşırı yüklü versiyonunu kullanın. Bu, resmi açmak için bir Stream nesnesini bir argüman olarak kabul eder.

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
string sourceFile = dataDir + @"sample.psd";
string destName = dataDir + "result.png";
FileStream fStream = new FileStream(sourceFile, FileMode.Open);
fStream.Position = 0;
// load PSD image and replace the non found fonts.
using (Image image = Image.Load(fStream))
{
PsdImage psdImage = (PsdImage)image;
MemoryStream stream = new MemoryStream();
psdImage.Save(stream, new PngOptions());
}

Katman Olarak Resmi Yükleme

Bu makale, bir resmi bir katman olarak yükleme işlemini Aspose.PSD’nin kullanımını göstermektedir. Aspose.PSD API’leri, bu hedefe ulaşmak için etkili ve kolay kullanımlı yöntemler sunmuştur. Aspose.PSD, bir resmi PSD dosyasına bir katman olarak eklemek için PsdImage sınıfının AddLayer yöntemini açığa çıkarmıştır.

Bir resmi PSD olarak bir katman olarak yükleme adımları aşağıdaki gibi basittir:

  • Belirli bir genişlik ve yüksekliğe sahip bir PsdImage sınıfı kullanarak bir resim örneği oluşturun.
  • Image sınıfı tarafından sağlanan Load fabrika yöntemi kullanarak bir PSD dosyasını bir resim olarak yükleyin.
  • Bir Katman sınıfı örneği oluşturun ve PSD resim katmanını buna atayın.
  • Yaratılan katmanı PsdImage sınıfı tarafından açığa çıkarılan AddLayer yöntemi kullanarak ekleyin.
  • Sonuçları kaydedin.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
string filePath = dataDir + "PsdExample.psd";
string outputFilePath = dataDir + "PsdResult.psd";
using (var image = new PsdImage(200, 200))
{
using (var im = Image.Load(filePath))
{
Layer layer = null;
try
{
layer = new Layer((RasterImage)im);
image.AddLayer(layer);
}
catch (Exception e)
{
if (layer != null)
{
layer.Dispose();
}
throw;
}
}
image.Save(outputFilePath);
}

Akıştan Bir Katman Olarak Resmi Yükleme

Bu makale, bir resmi bir akıştan bir katman olarak yükleme işlemini Aspose.PSD’nin kullanımını göstermektedir. Bir görüntüyü bir akıştan yüklemek için basitçe, bir resmi içeren bir akış nesnesini Layer sınıfı yapıcısına geçirin. Oluşturulan katmanı PsdImage sınıfı tarafından açığa çıkarılan AddLayer yöntemi kullanarak ekleyin ve sonuçları kaydedin.

İşte örnek kod.

Resim Dosyalarını Kaydetme

Aspose.PSD, sıfırdan resim dosyaları oluşturmanıza olanak tanır. Varolan resim dosyalarını düzenlemek için de imkanlar sağlar. Resim oluşturulduğunda veya düzenlendiğinde, genellikle dosya diske kaydedilir. Aspose.PSD, resimleri bir yola belirterek veya bir Akış nesnesi kullanarak diske kaydetmek için yöntemler sağlar.

Diske Kaydetme

Image sınıfı, bir resim nesnesini temsil ettiğinden, bu sınıf, bir resim dosyası oluşturmak, yüklemek ve kaydetmek için gereken tüm araçları sağlar. Resimleri kaydetmek için Image sınıfı Save yöntemini kullanın. Save yönteminin aşırı yüklü versiyonlarından biri, dosya konumunu bir dize olarak kabul eder.

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
string sourceFile = dataDir + @"sample.psd";
string destName = dataDir + "result.png";
// load PSD image and replace the non found fonts.
using (Image image = Image.Load(sourceFile))
{
PsdImage psdImage = (PsdImage)image;
psdImage.Save(destName, new PngOptions());
}

Akışa Kaydetme

Başka bir Save yönteminin aşırı yüklü versiyonu Stream nesnesini bir argüman olarak kabul eder ve resmi akışa kaydeder.

Eğer bir resim, Image sınıfının Oluştur işleminde CreateOptions’ları belirterek oluşturulmuşsa, resim, Image sınıfının başlatılması sırasında sağlanan yol veya akışa otomatik olarak kaydedilir. Bu, herhangi bir parametre kabul etmeyen Save yöntemini çağırarak yapılır.

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
string sourceFile = dataDir + @"sample.psd";
string destName = dataDir + "result.png";
// load PSD image and replace the non found fonts.
using (Image image = Image.Load(sourceFile))
{
PsdImage psdImage = (PsdImage)image;
MemoryStream stream = new MemoryStream();
psdImage.Save(stream, new PngOptions());
}

Eksik Yazı Tiplerini Değiştirme Ayarı

Geliştiriciler, Aspose.PSD for .NET API’yı, örneğin PSD belgelerini raster bir resim olarak (PNG, JPG ve BMP formatlarına) kaydederken eksik yazı türü adını ayarlamak için kullanabilirler. Bu varsayılan yazı tipi, tüm eksik yazı tipleri için (mevcut İşletim Sisteminda bulunmayan yazı tipleri) bir yer tutucu olarak kullanılmalıdır. Resim düzenlendikten sonra, dosya diske kaydedilecektir.

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
string sourceFileName = "sample_konstanting.psd";
string[] outputs = new string[]
{
"replacedfont0.tiff",
"replacedfont1.png",
"replacedfont2.jpg"
};
using (PsdImage image = (PsdImage)Image.Load(sourceFileName, new PsdLoadOptions()))
{
// This way you can use different fonts for different outputs
image.Save(outputs[0], new TiffOptions(TiffExpectedFormat.TiffJpegRgb) { DefaultReplacementFont = "Arial" });
image.Save(outputs[1], new PngOptions { DefaultReplacementFont = "Verdana" });
image.Save(outputs[2], new JpegOptions { DefaultReplacementFont = "Times New Roman" });
}