Aspose.PSD for Java 20.5 - Sürüm Notları
Contents
[
Hide
]
Bu sayfa, Aspose.PSD for Java 20.5 için sürüm notlarını içermektedir.
Anahtar | Özet | Kategori |
---|---|---|
PSDJAVA-188 | Belge dönüşüm ilerlemesine destek | Özellik |
PSDJAVA-197 | Kanal başına 16 bit ile Grayscale Renk Modu PSD görüntü kaydetme desteği | Özellik |
PSDJAVA-198 | Nvrt Kaynağının (Ters Ayar Katmanı Kaynağı) desteği | Özellik |
PSDJAVA-200 | Katman Grupları için Katman Maskelerini destekle | Özellik |
PSDJAVA-195 | 16 bit kanala sahip Grayscale Renk Modlu PSD görüntüsünü 16 bit kanala sahip RGB PSD formatına kaydetme hatası düzeltildi | Hata |
PSDJAVA-196 | 16 bit kanala sahip Grayscale Renk Modlu PSD görüntüsünü 8 bit kanala sahip Grayscale PSD formatına kaydetme hatası düzeltildi | Hata |
PSDJAVA-199 | Sağdan sola diller için ITextParçacığı ile Metin Hizalamanın çalışmaması. Çıktı dosyası hasarlıdır. | Hata |
PSDJAVA-201 | Lab Renkli ve 8 bit/kanalı olan belirli Psd dosyasını açmaya çalışırken oluşan istisna | Hata |
Genel API Değişiklikleri
Eklenen API’lar:
- Yok
Kaldırılan API’lar:
- Yok
Kullanım örnekleri:
PSDJAVA-188. Belge dönüşüm ilerlemesine destek
// Yükleme ve kaydetme işlemleri için ilerleme işleyicisinin kullanımına ilişkin bir örnek.
// Program, ilerleme olaylarını tetiklemek için farklı kaydetme seçenekleri kullanmaktadır.
String sourceFilePath = "Apple.psd";
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// İlerleme bilgilerini konsola yazan bir ilerleme işleyicisi oluştur
ProgressEventHandler localProgressEventHandler = new ProgressEventHandler()
{
@Override
public void invoke(ProgressEventHandlerInfo progressInfo)
{
String message = String.format(
"%s %s: %s out of %s",
progressInfo.getDescription(),
Enum.getName(EventType.class, progressInfo.getEventType()),
progressInfo.getValue(),
progressInfo.getMaxValue());
System.out.println(message);
}
};
System.out.println("---------- Apple.psd Yükleme ----------");
PsdLoadOptions loadOptions = new PsdLoadOptions();
// Yükleme ilerlemesini göstermek için ilerleme işleyicisini bağla
loadOptions.setProgressEventHandler(localProgressEventHandler);
// Belirli yükleme seçeneklerini kullanarak PSD yükle
PsdImage image = (PsdImage)Image.load(sourceFilePath, loadOptions);
try
{
System.out.println("---------- Apple.psd'yi PNG formatına kaydetme ----------");
PngOptions pngOptions = new PngOptions();
// Çıktı görüntüsünü renkli ve saydam olmayacak şekilde yap
pngOptions.setColorType(PngColorType.Truecolor);
// Kaydetme ilerlemesini göstermek için ilerleme işleyicisini bağla
pngOptions.setProgressEventHandler(localProgressEventHandler);
// Belirli özelliklere sahip PSD dosyasını PNG'ye dönüştür
image.save(outputStream, pngOptions);
System.out.println("---------- Apple.psd'yi PSD formatına kaydetme ----------");
PsdOptions psdOptions = new PsdOptions();
// Çıktıyı renkli yap
psdOptions.setColorMode(ColorModes.Rgb);
// Her renk için (kırmızı, yeşil ve mavi) bir kanal ve bir bileşik kanal ayarla
psdOptions.setChannelsCount((short)4);
// Kaydetme ilerlemesini göstermek için ilerleme işleyicisini bağla
psdOptions.setProgressEventHandler(localProgressEventHandler);
// Belirli özelliklere sahip bir PSD kopyasını kaydet
image.save(outputStream, psdOptions);
}
finally
{
image.dispose();
}
PSDJAVA-197. Kanal başına 16 bit ile Grayscale Renk Modu PSD görüntü kaydetme desteği
// Belirli katmanlar için farklı renk modları, kanal başına bit sayıları, kanal
// sayıları ve sıkıştırmaların uygulama örneği.
// Bir yöntemi yerel kapsamdan erişilebilir yap.
class LocalScopeExtension
{
void saveToPsdThenLoadAndSaveToPng(
String dosya,
short renkModu,
short kanalBitSayısı,
short kanalSayısı,
short sıkıştırma,
int katmanNumarası)
{
String dosyaYolu = dosya + ".psd";
String ek = Enum.getName(ColorModes.class, renkModu) + kanalBitSayısı + "_" +
kanalSayısı + "_" + Enum.getName(CompressionMethod.class, sıkıştırma);
String dışaAktarmaYolu = dosya + ek + ".psd";
String pngDışaAktarmaYolu = dosya + ek + ".png";
// Tanımlı 16-bit Grayscale PSD'yi yükle
PsdImage image = (PsdImage)Image.load(dosyaYolu);
try
{
RasterCachedImage raster = katmanNumarası >= 0 ? image.getLayers()[katmanNumarası] : image;
// Katmanın çevresinde gri bir iç kenar çizen
Graphics graphics = new Graphics(raster);
int genişlik = raster.getWidth();
int yükseklik = raster.getHeight();
Rectangle rect = new Rectangle(
genişlik / 3,
yükseklik / 3,
genişlik - (2 * (genişlik / 3)) - 1,
yükseklik - (2 * (yükseklik / 3)) - 1);
graphics.drawRectangle(new Pen(Color.getDarkGray(), 1), rect);
// Renk modu değiştirilmiş PSD'nin bir kopyasını kaydet
PsdOptions psdOptions = new PsdOptions();
psdOptions.setColorMode(renkModu);
psdOptions.setChannelBitsCount(kanalBitSayısı);
psdOptions.setChannelsCount(kanalSayısı);
psdOptions.setCompressionMethod(sıkıştırma);
image.save(dışaAktarmaYolu, psdOptions);
}
finally
{
image.dispose();
}
// Kaydedilmiş PSD'yi yükle
PsdImage image1 = (PsdImage)Image.load(dışaAktarmaYolu);
try
{
// Kaydedilmiş PSD'yi bir Grayscale PNG görüntüsüne dönüştür
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.GrayscaleWithAlpha);
image1.save(pngDışaAktarmaYolu, pngOptions); // burada istisna olmamalı
}
finally
{
image1.dispose();
}
}
}
LocalScopeExtension $ = new LocalScopeExtension();
$.saveToPsdThenLoadAndSaveToPng("grayscale5x5", ColorModes.Cmyk, (short)16, (short)5, CompressionMethod.RLE, 0);
$.saveToPsdThenLoadAndSaveToPng("argb16bit_5x5", ColorModes.Grayscale, (short)16, (short)2, CompressionMethod.RLE, 0);
$.saveToPsdThenLoadAndSaveToPng("argb16bit_5x5_no_layers", ColorModes.Grayscale, (short)16, (short)2, CompressionMethod.RLE, -1);
$.saveToPsdThenLoadAndSaveToPng("argb8bit_5x5", ColorModes.Grayscale, (short)16, (short)2, CompressionMethod.RLE, 0);
$.saveToPsdThenLoadAndSaveToPng("argb8bit_5x5_no_layers", ColorModes.Grayscale, (short)16, (short)2, CompressionMethod.RLE, -1);
$.saveToPsdThenLoadAndSaveToPng("cmyk16bit_5x5_no_layers", ColorModes.Grayscale, (short)16, (short)2, CompressionMethod.RLE, -1);
$.saveToPsdThenLoadAndSaveToPng("index8bit_5x5", ColorModes.Grayscale, (short)16, (short)2, CompressionMethod.RLE, -1);
PSDJAVA-198. Nvrt Kaynağının (Ters Ayar Katmanı Kaynağı) desteği
// Bir ters ayar katmanının Nvrt Kaynağını bulma örneği.
String inPsdFilePath = "InvertAdjustmentLayer.psd";
NvrtResource nvrtResource = null;
// İçeren bir ters ayar katmanı bulunduran önceden tanımlanmış bir PSD'yi yükle
PsdImage psdImage = (PsdImage)Image.load(inPsdFilePath);
try
{
// Ters ayar katmanının kaynağını bulmaya çalış
for (Layer layer : psdImage.getLayers())
{
if (layer instanceof InvertAdjustmentLayer)
{
for (LayerResource layerResource : layer.getResources())
{
if (layerResource instanceof NvrtResource)
{
// Nvrt Kaynağı bulundu
nvrtResource = (NvrtResource)layerResource;
break;
}
}
}
}
}
finally
{
psdImage.dispose();
}
PSDJAVA-200. Katman Grupları için Katman Maskelerini destekle
// Katman grupları için katman maskelerini destekleme örneği. Program, PSD'yi yükler ve kaydeder
// farklı çıktı biçimlerine, istisnanın atılmamasını sağlar.
String kaynakDosya = "psdnet595.psd";
String cıktıPng = "cıktı.png";
String cıktıPsd = "cıktı.psd";
// Katman grupları için katman maskeleri içeren tanımlı bir PSD'yi yükle
PsdImage giriş = (PsdImage)Image.load(kaynakDosya);
try
{
// Yüklenen PSD'yi PNG'ye dönüştür
giriş.save(cıktıPng, new PngOptions());
// PSD'nin bir kopyasını kaydet
giriş.save(cıktıPsd);
}
finally
{
giriş.dispose();
}
PSDJAVA-195. 16 bit kanala sahip Grayscale Renk Modlu PSD görüntüsünü 16 bit kanala sahip RGB PSD formatına kaydetme hatası düzeltildi
// 16-bit Grayscale bir PSD'yi 16-bit RGB'ye dönüştürme ve
// ardından 16-bit Grayscale ancak bir raster görüntüye geri dönme örneği.
String kaynakDosyaYolu = "grayscale5x5.psd";
String dışaAktarDosyaYolu = "rgb16bit5x5_cıktı.psd";
String pngDışaAktarYolu = "rgb16bit5x5_cıktı.png";
// Tanımlı 16-bit Grayscale PSD'yi yükle
PsdImage image = (PsdImage)Image.load(kaynakDosyaYolu);
try
{
RasterCachedImage raster = image.getLayers()[0];
// Katmanın çevresinde gri bir iç kenar çizen
Graphics graphics = new Graphics(raster);
int genişlik = raster.getWidth();
int yükseklik = raster.getHeight();
Rectangle rect = new Rectangle(genişlik / 3, yükseklik / 3, genişlik - (2 * (genişlik / 3)) - 1, yükseklik - (2 * (yükseklik / 3)) - 1);
graphics.drawRectangle(new Pen(Color.getDarkGray(), 1), rect);
// Renk modu RBG olarak değiştirilmiş PSD'nin bir kopyasını kaydet
PsdOptions psdOptions = new PsdOptions();
psdOptions.setColorMode(ColorModes.Rgb);
psdOptions.setChannelBitsCount((short)16);
psdOptions.setChannelsCount((short)4);
image.save(dışaAktarDosyaYolu, psdOptions);
}
finally
{
image.dispose();
}
// Kaydedilen PSD'yi yükle
PsdImage image1 = (PsdImage)Image.load(dışaAktarDosyaYolu);
try
{
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.GrayscaleWithAlpha);
// Kaydedilen PSD'yi bir Grayscale PNG görüntüsüne dönüştür
image1.save(pngDışaAktarYolu, pngOptions); // burada istisna olmamalı
}
finally
{
image1.dispose();
}
PSDJAVA-196. 16 bit kanala sahip Grayscale Renk Modlu PSD görüntüsünü 8 bit kanala sahip Grayscale PSD formatına kaydetme hatası düzeltildi
// 16-bit Grayscale bir PSD'yi 8-bit Grayscale'e dönüştürme ve
// ardından 8-bit Grayscale bir raster görüntüye geri dönme örneği.
String kaynakDosyaYolu = "grayscale16bit.psd";
String dışaAktarDosyaYolu = "grayscale16bit_cıktı.psd";
String pngDışaAktarYolu = "grayscale16bit_cıktı.png";
// Tanımlı 16-bit Grayscale PSD'yi yükle
PsdImage image = (PsdImage)Image.load(kaynakDosyaYolu);
try
{
RasterCachedImage raster = image.getLayers()[0];
// Katmanın çevresinde gri bir iç kenar çizen
Graphics graphics = new Graphics(raster);
int genişlik = raster.getWidth();
int yükseklik = raster.getHeight();
Rectangle rect = new Rectangle(genişlik / 3, yükseklik / 3, genişlik - (2 * (genişlik / 3)) - 1, yükseklik - (2 * (yükseklik / 3)) - 1);
graphics.drawRectangle(new Pen(Color.getDarkGray(), 1), rect);
// Kanal sayısı 8-bit yapılmış PSD'nin bir kopyasını kaydet
PsdOptions psdOptions = new PsdOptions();
psdOptions.setColorMode(ColorModes.Grayscale);
psdOptions.setChannelBitsCount((short)8);
psdOptions.setChannelsCount((short)2);
image.save(dışaAktarDosyaYolu, psdOptions);
}
finally
{
image.dispose();
}
// Kaydedilen PSD'yi yükle
PsdImage image1 = (PsdImage)Image.load(dışaAktarDosyaYolu);
try
{
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.GrayscaleWithAlpha);
// Kaydedilen PSD'yi bir Grayscale PNG görüntüsüne dönüştür
image1.save(pngDışaAktarYolu, pngOptions); // burada istisna olmamalı
}
finally
{
image1.dispose();
}
PSDJAVA-199. Sağdan sola diller için ITextParçacığı ile Metin Hizalamanın çalışmaması. Çıktı dosyası hasarlıdır.
// ITextParçacığı ile sağdan sola metin hizalama örneği. Program, yüklenmiş PSD'deki
// mevcut bir sağdan sola metin katmanını değiştirir ve değiştirilmiş belgenin bir kopyasını kaydeder.
String kaynakDosyaAdı = "bidi.psd";
String cıktıDosyaAdı = "bidiOutput.psd";
// Sağdan sola metin katmanı içeren bir PSD yükleyin
PsdImage image = (PsdImage