Примітки до випуску Aspose.PSD для .NET 19.4

Ключ Опис Категорія
PSDNET-87 Забезпечення можливості завантажувати файли зображень у форматі JPEG/PNG/тощо до PsdImage без прямого завантаження (що не підтримується в Aspose.PSD) Функція
PSDNET-120 Підтримка режиму кольору RGB з 16 бітами на канал (64 біти на колір) Функція
PSDNET-108 Підтримка векторних масок шарів та настроюваного обертання/перевертання текстового шару Функція
PSDNET-99 Усі азійські символи не відображаються належним чином Помилка
PSDNET-116 Символи \r\n інтерпретуються як подвійний розрив рядка, що є некоректним Помилка
PSDNET-117 Якщо TextLayer оновлюється рядком, який містить розриви рядків, то файл PSD стає незчитуваним Помилка
PSDNET-118 Якщо TextLayer оновлюється рядком, що містить символи табуляції, обробка завершується з винятком Помилка

Зміни у публічному API

Додані API:

  • M:Aspose.PSD.FileFormats.Psd.PsdImage.AddLayer(Aspose.PSD.FileFormats.Psd.Layers.Layer)
  • M:Aspose.PSD.FileFormats.Psd.Layers.Layer.#ctor(Aspose.PSD.RasterImage)

Вилучені API:

  • T:Aspose.PSD.FileFormats.Gif.GifImage
  • M:Aspose.PSD.FileFormats.Gif.GifImage.#ctor(Aspose.PSD.FileFormats.Gif.Blocks.GifFrameBlock,Aspose.PSD.IColorPalette)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.#ctor(Aspose.PSD.FileFormats.Gif.Blocks.GifFrameBlock)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.#ctor(Aspose.PSD.FileFormats.Gif.Blocks.GifFrameBlock,Aspose.PSD.IColorPalette,System.Boolean,System.Byte,System.Byte,System.Byte,System.Boolean)
  • P:Aspose.PSD.FileFormats.Gif.GifImage.FileFormat
  • P:Aspose.PSD.FileFormats.Gif.GifImage.XmpData
  • P:Aspose.PSD.FileFormats.Gif.GifImage.HasTrailer
  • P:Aspose.PSD.FileFormats.Gif.GifImage.IsPaletteSorted
  • P:Aspose.PSD.FileFormats.Gif.GifImage.PaletteColorResolutionBits
  • P:Aspose.PSD.FileFormats.Gif.GifImage.Width
  • P:Aspose.PSD.FileFormats.Gif.GifImage.Height
  • P:Aspose.PSD.FileFormats.Gif.GifImage.BitsPerPixel
  • P:Aspose.PSD.FileFormats.Gif.GifImage.Blocks
  • P:Aspose.PSD.FileFormats.Gif.GifImage.ActiveFrame
  • P:Aspose.PSD.FileFormats.Gif.GifImage.BackgroundColor
  • P:Aspose.PSD.FileFormats.Gif.GifImage.BackgroundColorIndex
  • P:Aspose.PSD.FileFormats.Gif.GifImage.PixelAspectRatio
  • P:Aspose.PSD.FileFormats.Gif.GifImage.IsCached
  • P:Aspose.PSD.FileFormats.Gif.GifImage.HasTransparentColor
  • P:Aspose.PSD.FileFormats.Gif.GifImage.TransparentColor
  • P:Aspose.PSD.FileFormats.Gif.GifImage.HasBackgroundColor
  • P:Aspose.PSD.FileFormats.Gif.GifImage.ImageOpacity
  • M:Aspose.PSD.FileFormats.Gif.GifImage.Dither(Aspose.PSD.DitheringMethod,System.Int32,Aspose.PSD.IColorPalette)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.CacheData
  • M:Aspose.PSD.FileFormats.Gif.GifImage.RotateFlipAll(Aspose.PSD.RotateFlipType)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.OrderBlocks
  • M:Aspose.PSD.FileFormats.Gif.GifImage.ClearBlocks
  • M:Aspose.PSD.FileFormats.Gif.GifImage.InsertBlock(System.Int32,Aspose.PSD.FileFormats.Gif.IGifBlock)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.AddBlock(Aspose.PSD.FileFormats.Gif.IGifBlock)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.RemoveBlock(Aspose.PSD.FileFormats.Gif.IGifBlock)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.RotateFlip(Aspose.PSD.RotateFlipType)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.Rotate(System.Single,System.Boolean,Aspose.PSD.Color)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.Resize(System.Int32,System.Int32,Aspose.PSD.ResizeType)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.Resize(System.Int32,System.Int32,Aspose.PSD.ImageResizeSettings)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.ResizeProportional(System.Int32,System.Int32,Aspose.PSD.ResizeType)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.Crop(Aspose.PSD.Rectangle)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.Grayscale
  • M:Aspose.PSD.FileFormats.Gif.GifImage.BinarizeFixed(System.Byte)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.BinarizeOtsu
  • M:Aspose.PSD.FileFormats.Gif.GifImage.BinarizeBradley(System.Double)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.AdjustBrightness(System.Int32)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.AdjustContrast(System.Single)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.AdjustGamma(System.Single,System.Single,System.Single)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.AdjustGamma(System.Single)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.Filter(Aspose.PSD.Rectangle,Aspose.PSD.ImageFilters.FilterOptions.FilterOptionsBase)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.ReplaceColor(System.Int32,System.Byte,System.Int32)
  • M:Aspose.PSD.FileFormats.Gif.GifImage.ReplaceNonTransparentColors(System.Int32)
  • T:Aspose.PSD.FileFormats.Tiff.TiffImage
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.#ctor(Aspose.PSD.FileFormats.Tiff.TiffFrame)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.#ctor(Aspose.PSD.FileFormats.Tiff.TiffFrame[])
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.BinarizeBradley(System.Double,System.Int32)
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.HasAlpha
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.HasTransparentColor
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.FileFormat
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.PremultiplyComponents
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.ByteOrder
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.HorizontalResolution
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.VerticalResolution
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.BackgroundColor
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.BitsPerPixel
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.ActiveFrame
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.Frames
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.Height
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.Width
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.IsCached
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.ExifData
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.ImageOpacity
  • P:Aspose.PSD.FileFormats.Tiff.TiffImage.XmpData
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.AlignResolutions
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.Dither(Aspose.PSD.DitheringMethod,System.Int32,Aspose.PSD.IColorPalette)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.SetResolution(System.Double,System.Double)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.CacheData
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.RotateFlip(Aspose.PSD.RotateFlipType)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.RotateFlipAll(Aspose.PSD.RotateFlipType)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.Rotate(System.Single,System.Boolean,Aspose.PSD.Color)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.AddFrame(Aspose.PSD.FileFormats.Tiff.TiffFrame)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.Add(Aspose.PSD.FileFormats.Tiff.TiffImage)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.AddFrames(Aspose.PSD.FileFormats.Tiff.TiffFrame[])
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.InsertFrame(System.Int32,Aspose.PSD.FileFormats.Tiff.TiffFrame)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.RemoveFrame(System.Int32)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.RemoveFrame(Aspose.PSD.FileFormats.Tiff.TiffFrame)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.Resize(System.Int32,System.Int32,Aspose.PSD.ResizeType)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.Resize(System.Int32,System.Int32,Aspose.PSD.ImageResizeSettings)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.ResizeWidthProportionally(System.Int32,Aspose.PSD.ResizeType)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.ResizeHeightProportionally(System.Int32,Aspose.PSD.ResizeType)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.ResizeProportional(System.Int32,System.Int32,Aspose.PSD.ResizeType)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.Crop(Aspose.PSD.Rectangle)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.Grayscale
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.BinarizeFixed(System.Byte)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.BinarizeOtsu
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.BinarizeBradley(System.Double)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.Crop(System.Int32,System.Int32,System.Int32,System.Int32)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.AdjustBrightness(System.Int32)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.AdjustContrast(System.Single)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.AdjustGamma(System.Single,System.Single,System.Single)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.AdjustGamma(System.Single)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.Filter(Aspose.PSD.Rectangle,Aspose.PSD.ImageFilters.FilterOptions.FilterOptionsBase)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.ReplaceColor(System.Int32,System.Byte,System.Int32)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.ReplaceNonTransparentColors(System.Int32)
  • M:Aspose.PSD.FileFormats.Tiff.TiffImage.ReplaceFrame(System.Int32,Aspose.PSD.FileFormats.Tiff.TiffFrame)

Приклади використання:

PSDNET-87. Забезпечення можливості завантажувати файли зображень у форматі JPEG/PNG/тощо до PsdImage без прямого завантаження (що не підтримується в Aspose.PSD)

 string filePath = "PsdExample.psd";

string outputFilePath = "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);

}  

PSDNET-120. Підтримка режиму кольору RGB з 16 бітами на канал (64 біти на колір)

  // Підтримка режиму кольору RGB з 16 бітами на канал (64 біти на колір)

string sourceFileName = "inRgb16.psd.psd";

string outputFilePathJpg = "outRgb16.jpg";

string outputFilePathPsd = "outRgb16.psd";

var options = new PsdLoadOptions();

using(PsdImage image = (PsdImage) Image.Load(sourceFileName, options)) {

 image.Save(outputFilePathPsd, new PsdOptions(image));

 image.Save(outputFilePathJpg, new JpegOptions() {

  Quality = 100

 });

}

// Файли повинні бути відкриті без винятків і читабельні для Photoshop    

using(Image image = Image.Load(outputFilePathPsd)) {}  

PSDNET-108. Підтримка векторних масок шарів та настроюваного обертання/перевертання текстового шару

 // Операція обертання/перевертання не працює так, як очікувалося з PSD

var sourceFile = "1.psd";

var pngPath = "RotateFlipTest2617.png";

var psdPath = "RotateFlipTest2617.psd";

var flipType = RotateFlipType.Rotate270FlipXY;

using(var im = (PsdImage)(Image.Load(sourceFile))) {

 im.RotateFlip(flipType);

 im.Save(pngPath, new PngOptions() {

  ColorType = PngColorType.TruecolorWithAlpha

 });

 im.Save(psdPath);

}

PSDNET-99. Усі азійські символи не відображаються належним чином

Будь ласка, перевірте доданий приклад

PSDNET-116. Символи \r\n інтерпретуються як подвійний розрив рядка, що є некоректним

 // Символи \r\n інтерпретуються як подвійний розрив рядка, що є некоректним

string sourceFileName = "TextTest.psd";

string exportPath = "Result.psd";

using(Image image = Image.Load(sourceFileName)) {

 if (!(image is PsdImage)) {

  return;

 }

 PsdImage psdImage = (PsdImage) image;

 Layer[] layers = psdImage.Layers;

 for (int index = layers.Length - 1; index >= 0; index--) {

  Layer layer = layers[index];

  if (!(layer is TextLayer)) {

   continue;

  }

  TextLayer textLayer = (TextLayer) layer;

  textLayer.UpdateText("First Paragraph\r\nSecond Paragraph\rThird paragraph\nFourth Paragraph");

 }

 PsdOptions imageOptions = new PsdOptions(psdImage);

 psdImage.Save(exportPath, imageOptions);

}

// Файл повинен бути відкритий без винятків і читабельним для Photoshop. Повинен містити 3 рядкові розриви, один між кожним рядком

using(Image image = Image.Load(exportPath)) {}

PSDNET-117. Якщо TextLayer оновлюється рядком, який містить розриви рядків, то файл PSD стає незчитуваним

 // Якщо TextLayer оновлюється рядком, яки