Aspose.PSD cho .NET 19.4 - Ghi chú Phát hành

Khóa Tóm tắt Danh mục
PSDNET-87 Tạo tính năng để tải các tệp hình ảnh JPEG/PNG/vv vào PsdImage mà không cần tải trực tiếp (Không được hỗ trợ trong Aspose.PSD) Tính năng
PSDNET-120 Hỗ trợ chế độ Màu RGB với 16 bit/kênh (64 bit mỗi màu) Tính năng
PSDNET-108 Hỗ trợ Vector Masks và Tùy chỉnh Lật/Xoay cho Layer Văn bản Tính năng
PSDNET-99 Tất cả các ký tự chữ Á Đông không hiển thị đúng cách Lỗi
PSDNET-116 Các ký hiệu \r\n được hiểu là xuống dòng kép là sai Lỗi
PSDNET-117 Nếu TextLayer được cập nhật với chuỗi chứa Xuống dòng thì Tệp PSD sẽ trở nên không đọc được Lỗi
PSDNET-118 Nếu TextLayer được cập nhật với chuỗi chứa ký tự Tab, quá trình xử lý thất bại với ngoại lệ Lỗi

Thay đổi API Công cộng

API Thêm vào:

  • 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 Bị gỡ bỏ:

  • 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)

Ví dụ sử dụng:

PSDNET-87. Tạo tính năng để tải các tệp hình ảnh JPEG/PNG/vv vào PsdImage mà không cần tải trực tiếp (Không được hỗ trợ trong 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. Hỗ trợ chế độ Màu RGB với 16 bit/kênh (64 bit mỗi màu)

// Hỗ trợ chế độ Màu RGB với 16 bit/kênh (64 bit mỗi màu)

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

 });

}

// Các tệp phải được mở mà không có ngoại lệ và phải đọc được trong Photoshop   

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

PSDNET-108. Hỗ trợ các Layer Vector Masks và Tùy chỉnh Lật/Xoay cho Layer Văn bản

 // Thao tác RotateFlip không hoạt động như mong đợi với 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. Tất cả các ký tự chữ Á Đông không hiển thị đúng cách

Vui lòng kiểm tra ví dụ đính kèm

PSDNET-116. Các ký hiệu \r\n được hiểu là xuống dòng kép là sai

 // Các ký hiệu \r\n được hiểu là xuống dòng kép là sai

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);

}

// Tệp phải được mở mà không có ngoại lệ và phải đọc được trong Photoshop. Nó phải chứa 3 dòng xuống hàng, một giữa mỗi dòng

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

PSDNET-117. Nếu TextLayer được cập nhật với chuỗi chứa Xuống dòng thì Tệp PSD sẽ trở nên không đọc được

 // Nếu TextLayer được cập nhật với chuỗi chứa Xuống dòng thì Tệp PSD sẽ trở nên không đọc được.

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\r\nThird paragraph\r\nFourth Paragraph");

 }

 PsdOptions imageOptions = new PsdOptions(psdImage);

 psdImage.Save(exportPath, imageOptions);

}

// Tệp phải được mở mà không có ngoại lệ và phải đọc được trong Photoshop

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

PSDNET-118. Nếu TextLayer được cập nhật với chuỗi chứa ký tự Tab, quá trình xử lý thất bại với ngoại lệ

{{