Catatan Rilis Aspose.PSD untuk Java 20.4
Contents
[
Hide
]
Halaman ini berisi catatan rilis untuk Aspose.PSD untuk Java 20.4
Kunci | Ringkasan | Kategori |
---|---|---|
PSDJAVA-156 | Dukungan dari sumber ‘Data Asal Vektor’ | Fitur |
PSDJAVA-171 | Dukungan lclrResource (Pengaturan warna lembar) | Fitur |
PSDJAVA-157 | Dukungan properti dari data LengthRecord. (Operasi jalur (operasi boolean), indeks bentuk dalam lapisan, jumlah rekaman simpul bezier) | Fitur |
PSDJAVA-158 | Dukungan dari Sumber Gambar Bagian #1010 Warna Latar Belakang | Fitur |
PSDJAVA-161 | Penambahan Lapisan Isi saat runtime | Fitur |
PSDJAVA-168 | Dukungan dari Sumber Gambar Bagian #1009 Informasi Border. | Fitur |
PSDJAVA-169 | Dukungan Lapisan dalam Berkas Format AI | Fitur |
PSDJAVA-163 | Dukungan Membaca dan Mengedit Efek Lapisan Gaya Overlay Gradien | Fitur |
PSDJAVA-164 | Rendering Efek Lapisan Overlay Gradien | Fitur |
PSDJAVA-149 | Aspose.PSD untuk java error saat mendapatkan properti teksData.items dari lapisan teks | Bug |
PSDJAVA-166 | Perbaikan penyimpanan gambar PSD dengan Grayscale ColorMode dan 16 bit per saluran ke format PSD Grayscale | Bug |
PSDJAVA-167 | Perbaikan penyimpanan gambar PSD dengan Grayscale ColorMode dan 16 bit per saluran ke format PNG | Bug |
PSDJAVA-159 | Perubahan properti The GradientOverlayEffect.BlendMode tidak ditampilkan di Photoshop. | Bug |
Perubahan API Publik
API Ditambahkan:
- M:com.aspose.psd.fileformats.psd.PsdImage.addBlackWhiteAdjustmentLayer
- M:com.aspose.psd.fileformats.psd.PsdImage.addExposureAdjustmentLayer(float)
- M:com.aspose.psd.fileformats.psd.PsdImage.addExposureAdjustmentLayer(float,float)
- T:com.aspose.psd.fileformats.psd.PsdVersion
- F:com.aspose.psd.fileformats.psd.PsdVersion.Psb
- F:com.aspose.psd.fileformats.psd.PsdVersion.Psd
- F:com.aspose.psd.fileformats.psd.layers.BlendMode.Absent
- M:com.aspose.psd.fileformats.psd.layers.ChannelInformation.#ctor(short,byte[],byte[])
- M:com.aspose.psd.fileformats.psd.layers.Layer.#ctor(com.aspose.psd.RasterImage)
- M:com.aspose.psd.fileformats.psd.layers.Layer.#ctor(com.aspose.psd.internal.ij.k,com.aspose.psd.IColorPalette)
- M:com.aspose.psd.fileformats.psd.layers.LayerGroup.getBlendModeKey
- M:com.aspose.psd.fileformats.psd.layers.LayerGroup.setBlendModeKey(long)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.CurvesContinuousManager.getChannelsCount
- M:com.aspose.psd.fileformats.psd.layers.layerresources.CurvesContinuousManager.isChannelUsed(int)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.CurvesDiscreteManager.#ctor(int)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.CurvesDiscreteManager.getChannelsCount
- M:com.aspose.psd.fileformats.psd.layers.layerresources.CurvesDiscreteManager.isChannelUsed(int)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.CurvesManager.getChannelsCount
- M:com.aspose.psd.fileformats.psd.layers.layerresources.CurvesManager.isChannelUsed(int)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LayerSectionResource.setBlendModeKey(long)
- M:com.aspose.psd.fileformats.psd.layers.text.IText.producePortions(java.lang.String[],com.aspose.psd.fileformats.psd.layers.text.ITextStyle,com.aspose.psd.fileformats.psd.layers.text.ITextParagraph)
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.getBaselineShift
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.getFauxBold
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.getFauxItalic
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.getFontBaseline
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.getFontCaps
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.getStrikethrough
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.getUnderline
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.setBaselineShift(double)
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.setFauxBold(boolean)
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.setFauxItalic(boolean)
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.setFontBaseline(int)
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.setFontCaps(int)
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.setLeading(double)
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.setStrikethrough(boolean)
- M:com.aspose.psd.fileformats.psd.layers.text.ITextStyle.setUnderline(boolean)
- T:com.aspose.psd.fileformats.psd.layers.text.rendering.FontBaseline
- F:com.aspose.psd.fileformats.psd.layers.text.rendering.FontBaseline.None
- F:com.aspose.psd.fileformats.psd.layers.text.rendering.FontBaseline.Subscript
- F:com.aspose.psd.fileformats.psd.layers.text.rendering.FontBaseline.Superscript
- T:com.aspose.psd.fileformats.psd.layers.text.rendering.FontCaps
- F:com.aspose.psd.fileformats.psd.layers.text.rendering.FontCaps.AllCaps
- F:com.aspose.psd.fileformats.psd.layers.text.rendering.FontCaps.None
- F:com.aspose.psd.fileformats.psd.layers.text.rendering.FontCaps.SmallCaps
- M:com.aspose.psd.sources.StreamSource.#ctor(java.io.OutputStream)
- M:com.aspose.psd.sources.StreamSource.#ctor(java.io.OutputStream,boolean)
API Dihapus:
- M:com.aspose.psd.fileformats.psd.layers.Layer.#ctor(com.aspose.psd.internal.ij.k,com.aspose.psd.IColorPalette)
- M:com.aspose.psd.xmp.schemas.xmpdm.XmpDynamicMediaPackage.setAudioSampleType(com.aspose.psd.xmp.schemas.xmpdm.AudioSampleType)
Contoh Penggunaan:
PSDJAVA-156. Dukungan dari sumber ‘Data Asal Vektor’
/*
Sebuah contoh membaca dan memodifikasi sumber Data Asal Vektor.
*/
// Simpan metode dalam ruang lingkup lokal untuk kesederhanaan
class LocalScopeExtension
{
VogkResource findFirstVogkResource(LayerResource[] layerResources)
{
VogkResource vogkResource = null;
for (LayerResource layerResource : layerResources)
{
if (layerResource instanceof VogkResource)
{
vogkResource = (VogkResource)layerResource;
break;
}
}
if (vogkResource == null)
{
throw new Exception("VogkResource tidak ditemukan.");
}
return vogkResource;
}
}
LocalScopeExtension $ = new LocalScopeExtension();
String inPsdFilePath = "VectorOriginationDataResource.psd";
String outPsdFilePath = "out_VectorOriginationDataResource_.psd";
// Muat file PSD yang berisi sumber VOGK yang telah ditentukan
PsdImage psdImage = (PsdImage)Image.load(inPsdFilePath);
try
{
// Temukan VogkResource pertama di sumber lapisan yang telah ditentukan
VogkResource vogkResource = $.findFirstVogkResource(
psdImage.getLayers()[1].getResources());
// Verifikasi properti sumber yang telah ditentukan
if (vogkResource.getShapeOriginSettings().length != 1 ||
!vogkResource.getShapeOriginSettings()[0].isShapeInvalidated() ||
vogkResource.getShapeOriginSettings()[0].getOriginIndex() != 0)
{
throw new Exception("VogkResource salah dibaca.");
}
// Modifikasi beberapa properti VogkResource
vogkResource.setShapeOriginSettings(new VectorShapeOriginSettings[]
{
vogkResource.getShapeOriginSettings()[0],
new VectorShapeOriginSettings(true, 1)
});
// Simpan salinan yang telah dimodifikasi dari file PSD yang dimuat pada jalur
psdImage.save(outPsdFilePath);
}
finally
{
psdImage.dispose();
}
PSDJAVA-171. Dukungan lclrResource (Pengaturan warna lembar)
/*
Sebuah contoh penggunaan Warna Lembar Lapisan untuk menyoroti visual lapisan. Sebagai contoh, Anda dapat
memperbarui beberapa lapisan dalam PSD dan kemudian menyoroti dengan warna lapisan yang ingin Anda tarik
perhatian.
*/
class LocalScopeExtension
{
void checkSheetColorsAndRerverse(Short[] sheetColors, PsdImage psdImage)
{
int layersCount = psdImage.getLayers().length;
for (int layerIndex = 0; layerIndex < layersCount; layerIndex++)
{
Layer layer = psdImage.getLayers()[layerIndex];
for (LayerResource layerResource : layer.getResources())
{
if (!(layerResource instanceof LclrResource))
{
continue;
}
// Sumber lcrl selalu hadir dalam daftar sumber file psd.
LclrResource resource = (LclrResource)layerResource;
if (resource.getColor() != sheetColors[layerIndex])
{
throw new Exception("Warna Lembar salah dibaca");
}
// Pembalikan warna latar belakang lapisan. Menyiapkan lapisan sorot warna.
resource.setColor(sheetColors[layersCount - layerIndex - 1]);
break;
}
}
}
}
LocalScopeExtension $ = new LocalScopeExtension();
String inPsdFilePath = "AllLclrResourceColors.psd";
String outPsdFilePath = "AllLclrResourceColorsReversed.psd";
// Pada berkas warna lapisan adalah urutan ini
Short[] sheetColors = new Short[] {
SheetColorHighlightEnum.Merah,
SheetColorHighlightEnum.Oranye,
SheetColorHighlightEnum.Kuning,
SheetColorHighlightEnum.Hijau,
SheetColorHighlightEnum.Biru,
SheetColorHighlightEnum.Ungu,
SheetColorHighlightEnum.Abu_Abu,
SheetColorHighlightEnum.Tanpa_Warna
};
// Muat file PSD yang berisi sumber LclrResource yang telah ditentukan
PsdImage psdImage = (PsdImage)Image.load(inPsdFilePath);
try
{
$.checkSheetColorsAndRerverse(sheetColors, psdImage);
psdImage.save(outPsdFilePath, new PsdOptions());
}
finally
{
psdImage.dispose();
}
// Muat file PSD yang baru disimpan
PsdImage psdImage1 = (PsdImage)Image.load(outPsdFilePath);
try
{
// Balik warna
List<Short> sheetColorList = Arrays.asList(sheetColors);
Collections.reverse(sheetColorList);
$.checkSheetColorsAndRerverse(sheetColorList.toArray(new Short[0]), psdImage1);
}
finally
{
psdImage1.dispose();
}
PSDJAVA-157. Dukungan properti dari data LengthRecord. (Operasi jalur (operasi boolean), indeks bentuk dalam lapisan, jumlah rekaman simpul bezier)
/*
Sebuah contoh mengubah operasi jalur saat bekerja dengan bentuk. Program membaca
rekaman jalur vektor yang telah ditentukan (LengthRecord) dan mengubah operasi jalur mereka kemudian menyimpan
salinan yang dimodifikasi dari dokumen sebagai file PSD baru.
*/
String inPsdFilePath = "PathOperationsShape.psd";
String outPsdFilePath = "out_" + inPsdFilePath;
// Muat berkas PSD yang berisi sumber vsms yang telah ditentukan
PsdImage psdImage = (PsdImage)Image.load(inPsdFilePath);
try
{
// Temukan VsmsResource pertama di sumber lapisan yang telah ditentukan
VsmsResource resource = null;
for (LayerResource layerResource : psdImage.getLayers()[1].getResources())
{
if (layerResource instanceof VsmsResource)
{
resource = (VsmsResource)layerResource;
break;
}
}
LengthRecord lengthRecord0 = (LengthRecord)resource.getPaths()[2];
LengthRecord lengthRecord1 = (LengthRecord)resource.getPaths()[7];
LengthRecord lengthRecord2 = (LengthRecord)resource.getPaths()[11];
// Mengubah cara bentuk digabungkan
lengthRecord0.setPathOperations(PathOperations.ExcludeOverlappingShapes);
lengthRecord1.setPathOperations(PathOperations.IntersectShapeAreas);
lengthRecord2.setPathOperations(PathOperations.SubtractFrontShape);
// Simpan salinan yang dimodifikasi dari file PSD yang dimuat pada jalur
psdImage.save(outPsdFilePath);
}
finally
{
psdImage.dispose();
}
PSDJAVA-158. Dukungan dari Sumber Gambar Bagian #1010 Warna Latar Belakang
/*
Sebuah contoh membaca dan memodifikasi sumber warna latar belakang.
*/
String inPsdFilePath = "input.psd";
String outPsdFilePath = "output.psd";
// Muat berkas PSD yang berisi sumber warna latar belakang yang sudah ditentukan
PsdImage psdImage = (PsdImage)Image.load(inPsdFilePath);
try
{
BackgroundColorResource backgroundColorResource = null;
for (ResourceBlock imageResource : psdImage.getImageResources())
{
if (imageResource instanceof BackgroundColorResource)
{
backgroundColorResource = (BackgroundColorResource)imageResource;
break;
}
}
if (backgroundColorResource == null)
{
throw new Exception("Sumber Warna Latar Belakang tidak ditemukan");
}
// Perbarui warna dari sumber warna latar belakang
backgroundColorResource.setColor(Color.getDarkRed());
// Simpan salinan yang dimodifikasi dari file PSD yang dimuat pada jalur
psdImage.save(outPsdFilePath);
}
finally
{
psdImage.dispose();
}