یادداشت های نسخه Aspose.PSD برای .NET 23.9

کلید خلاصه دسته بندی
PSDNET-1638 پیاده سازی ایجاد ماسک برای لایه های تنظیم جدید ویژگی
PSDNET-1654 اضافه کردن پشتیبانی از لایه های Clipped Layer به عنوان گزینه ترکیب گروه ویژگی
PSDNET-1194 فایل PSD با حالت رنگ 16 بیتی ماسک برای لایه های تنظیم را اعمال نمی کند باگ
PSDNET-1235 نادرست بودن نمایش پرانتز ها در لایه متن باگ
PSDNET-1559 ناتوانی در به روزرسانی استایل ها در لایه های متن باگ
PSDNET-1583 پس از صدور فایل PSD با CMYK، رنگ ها در PSD صادر شده شکسته می‌شوند باگ
PSDNET-1619 فایل خاص PSB استثنا “مستطیل هیچ ناحیه پردازش مشترکی ندارد” را پرتاب می کند باگ
PSDNET-1648 بارگذاری تصویر ناموفق بود. OverflowException: عملیات حسابی در یک سرازیری باعث شده است که بالفعل بی‌چون رویداده باشد باگ

تغییرات API عمومی

API های اضافه شده:

  • P:Aspose.PSD.FileFormats.Psd.Layers.Layer.BlendClippedElements
  • T:Aspose.PSD.CustomFontHandler.CustomFontData
  • M:Aspose.PSD.CustomFontHandler.CustomFontData.#ctor(System.String,System.Byte[])
  • P:Aspose.PSD.CustomFontHandler.CustomFontData.FontName
  • P:Aspose.PSD.CustomFontHandler.CustomFontData.FontData
  • P:Aspose.PSD.FontSettings.GetSystemAlternativeFont
  • P:Aspose.PSD.Graphics.PaintableImageOptions
  • P:Aspose.PSD.Image.UsePalette
  • M:Aspose.PSD.Region.Equals(System.Object)
  • M:Aspose.PSD.Region.GetHashCode
  • P:Aspose.PSD.StringFormat.CustomCharIdent
  • M:Aspose.PSD.StringFormat.Equals(System.Object)
  • M:Aspose.PSD.StringFormat.GetHashCode
  • F:Aspose.PSD.StringFormatFlags.ExactAlignment

API های حذف شده:

  • هیچکدام

مثال های استفاده:

PSDNET-1638. پیاده سازی ایجاد ماسک برای لایه‌های تنظیم جدید

string srcFile = "zendeya_BW.psd";
string dstFile = "zendeya_BW_out.psd";

using (var im = (PsdImage)Image.Load(srcFile))
{
    im.AddBlackWhiteAdjustmentLayer();

    im.Save(dstFile);
}

using (var im = (PsdImage)Image.Load(dstFile))
{
    Layer layer = im.Layers[1];

    AssertAreEqual((ushort)5, layer.ChannelsCount);
    AssertAreEqual((short)-2, layer.ChannelInformation[4].ChannelID);
}

void AssertAreEqual(object expected, object actual, string message = null)
{
    if (!object.Equals(expected, actual))
    {
        throw new Exception(message ?? "اشیاء برابر نیستند.");
    }
}

PSDNET-1654. اضافه کردن پشتیبانی از لایه‌های Clipped Layer به عنوان گزینه ترکیب گروه

string sourceFile = "example_source.psd";
string outputPsd = "example_output.psd";
string outputPng = "example_output.png";

using (var image = (PsdImage)Image.Load(sourceFile))
{
    image.Layers[1].BlendClippedElements = false;
    image.Save(outputPsd);
    image.Save(outputPng, new PngOptions());
}

PSDNET-1194. فایل PSD با حالت رنگ 16 بیتی ماسک برای لایه‌های تنظیم را اعمال نمی کند

string sourceFile = "source.psd";
string outputPng = "current.png";

using (var image = (PsdImage)Image.Load(sourceFile))
{
    image.Save(outputPng, new PngOptions());
}

PSDNET-1235. نادرست بودن نمایش پرانتز ها در لایه متن

string file = "file1.psd";
string output = "output_1235.png";

using (var psdImage = (PsdImage)Image.Load(file))
{
    foreach (var layer in psdImage.Layers)
    if (layer is TextLayer textLayer)
    textLayer.TextData.UpdateLayerData();

    var imageOptions = new PsdOptions(psdImage);
    psdImage.Save(output, imageOptions);
}

PSDNET-1559. ناتوانی در به روزرسانی استایل ها در لایه های متن

string sourceFile = "Example_FontSize.psd";
string outputFile = "output_Example_FontSize.psd";

using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { LoadEffectsResource = true }))
{
    var l1 = (TextLayer)psdImage.Layers[4];
    var l2 = (TextLayer)psdImage.Layers[5];

    var textItems1 = l1.TextData.ProducePortions(new string[] { "text1", "text2" }, l1.TextData.Items[0].Style, l1.TextData.Items[0].Paragraph);

    l1.TextData.RemovePortion(0);
    foreach (var item in textItems1)
    {
        l1.TextData.AddPortion(item);
    }

    var textItems2 = l2.TextData.ProducePortions(new string[] { "text layer 1", "text layer 22" }, l2.TextData.Items[0].Style, l2.TextData.Items[0].Paragraph);

    foreach (var item in textItems2)
    {
        l2.TextData.AddPortion(item);
    }

    l1.TextData.UpdateLayerData();
    l2.TextData.UpdateLayerData();

    psdImage.Save(outputFile);
}

PSDNET-1583. پس از صدور فایل PSD با CMYK، رنگ ها در PSD صادر شده شکسته می‌شوند

string sourceFile = "canyon.psd";
string outputFilePng = "output_canyon.png";

using (var outputStream = new MemoryStream())
{
    using (var psdImage = (PsdImage)Image.Load(sourceFile))
    {
        psdImage.Save(outputStream);
    }

    outputStream.Position = 0;
    using (var psdImage = (PsdImage)Image.Load(outputStream))
    {
        psdImage.Save(outputFilePng, new PngOptions());
    }
}

PSDNET-1619. فایل خاص PSB استثنا “مستطیل هیچ ناحیه پردازش مشترکی ندارد” را پرتاب می‌کند

var input = "1619_src.psb";
var output = "1619_output.png";
using (PsdImage img = (PsdImage)Image.Load(input, new PsdLoadOptions() { LoadEffectsResource = true }))
{
    img.Save(output,
    new PngOptions() { CompressionLevel = 9, ColorType = PngColorType.TruecolorWithAlpha });
}

PSDNET-1648. بارگذاری تصویر ناموفق بود. OverflowException: عملیات حسابی در یک سرازیری باعث شده است که بالفعل بی‌چون رویداده باشد

string sourceFile = "9baa6962-f409-41ee-88da-418ea87bb56f_test_2.psd";

using (PsdImage im = (PsdImage)PsdImage.Load(sourceFile))
{
    Layer layer = im.Layers[28];
    GrdmResource grdmResource = (GrdmResource)layer.Resources[0];

    AssertAreEqual("自定", grdmResource.GradientName);
}

void AssertAreEqual(object expected, object actual, string message = null)
{
    if (!object.Equals(expected, actual))
    {
        throw new Exception(message ?? "اشیاء برابر نیستند.");
    }
}