دفترچهی یادداشت Aspose.PSD برای .NET 20.5 - یادداشتهای انتشار
Contents
[
Hide
]
این صفحه شامل یادداشتهای انتشار برای Aspose.PSD برای .NET 20.5 میباشد.
کلید | خلاصه | دستهبندی |
---|---|---|
PSDNET-595 | پشتیبانی از ماسکهای لایه برای گروههای لایه | ویژگی |
PSDNET-201 | پشتیبانی از پیشرفت تبدیل سند | ویژگی |
PSDNET-275 | پشتیبانی از منبع Nvrt (منبع لایه تنظیم معکوس) | ویژگی |
PSDNET-124 | پشتیبانی از ذخیره تصویر PSD با حالت رنگ خاکستری با 16 بیت برای هر کانال | ویژگی |
PSDNET-589 | بازسازی مثالها در GitHub | پیشرفت |
PSDNET-587 | تراز متن از طریق ITextPortion برای زبانهای راست به چپ کار نمیکند. فایل خروجی دیمیجه میشود. | اشکال |
PSDNET-604 | استثنا هنگام تلاش برای باز کردن یک فایل Psd خاص با رنگ Lab و 8 بیت/کانال | اشکال |
PSDNET-598 | رفع مشکل ذخیره تصویر PSD با حالت رنگ خاکستری با 16 بیت برای هر کانال به فرمت 8 بیت بر کانال PSD خاکستری | اشکال |
PSDNET-599 | رفع مشکل ذخیره تصویر PSD با حالت رنگ خاکستری با 16 بیت برای هر کانال به فرمت 16 بیت بر کانال RGB PSD | اشکال |
تغییرات API عمومی
APIهای اضافه شده:
- هیچکدام
APIهای حذف شده:
- هیچکدام
نمونههای استفاده:
PSDNET-595. پشتیبانی از ماسکهای لایه برای گروههای لایه
string srcFile = "psdnet595.psd";
string outputPng = "output.png";
string outputPsd = "output.psd";
using (var input = (PsdImage)Image.Load(srcFile))
{
input.Save(outputPng, new PngOptions());
input.Save(outputPsd);
}
PSDNET-201. پشتیبانی از پیشرفت تبدیل سند
string sourceFilePath = "Apple.psd";
Stream outputStream = new MemoryStream();
ProgressEventHandler localProgressEventHandler = delegate(ProgressEventHandlerInfo progressInfo)
{
string message = string.Format(
"{0} {1}: {2} out of {3}",
progressInfo.Description,
progressInfo.EventType,
progressInfo.Value,
progressInfo.MaxValue);
Console.WriteLine(message);
};
Console.WriteLine("---------- Loading Apple.psd ----------");
var loadOptions = new PsdLoadOptions() { ProgressEventHandler = localProgressEventHandler };
using (PsdImage image = (PsdImage)Image.Load(sourceFilePath, loadOptions))
{
Console.WriteLine("---------- Saving Apple.psd to PNG format ----------");
image.Save(
outputStream,
new PngOptions()
{
ColorType = PngColorType.Truecolor, ProgressEventHandler = localProgressEventHandler
});
Console.WriteLine("---------- Saving Apple.psd to PSD format ----------");
image.Save(
outputStream,
new PsdOptions()
{
ColorMode = ColorModes.Rgb,
ChannelsCount = 4,
ProgressEventHandler = localProgressEventHandler
});
}
PSDNET-275. پشتیبانی از منبع Nvrt (منبع لایه تنظیم معکوس)
using (var psdImage = (PsdImage)Image.Load("InvertAdjustmentLayer.psd"))
{
foreach (var layer in psdImage.Layers)
{
if (layer is InvertAdjustmentLayer)
{
foreach (var layerResource in layer.Resources)
{
if (layerResource is NvrtResource)
{
// منبع Nvrt پشتیبانی میشود.
var resource = (NvrtResource)layerResource;
break;
}
}
}
}
}
PSDNET-124. رفع مشکل ذخیره تصویر PSD با حالت رنگ خاکستری با 16 بیت برای هر کانال به فرمت 8 بیت بر کانال PSD خاکستری
void SaveToPsdThenLoadAndSaveToPng(
string file,
ColorModes colorMode,
short channelBitsCount,
short channelsCount,
CompressionMethod compression,
int layerNumber)
{
string filePath = file + ".psd";
string postfix = colorMode.ToString() + channelBitsCount + "_" + channelsCount + "_" + compression;
string exportPath = @"Output\" + file + postfix + ".psd";
PsdOptions psdOptions = new PsdOptions()
{
ColorMode = colorMode,
ChannelBitsCount = channelBitsCount,
ChannelsCount = channelsCount,
CompressionMethod = compression
};
using (PsdImage image = (PsdImage)Image.Load(filePath))
{
RasterCachedImage raster = layerNumber >= 0 ? (RasterCachedImage)image.Layers[layerNumber] : image;
Aspose.PSD.Graphics graphics = new Graphics(raster);
int width = raster.Width;
int height = raster.Height;
Rectangle rect = new Rectangle(
width / 3,
height / 3,
width - (2 * (width / 3)) - 1,
height - (2 * (height / 3)) - 1);
graphics.DrawRectangle(new Aspose.PSD.Pen(Color.DarkGray, 1), rect);
image.Save(exportPath, psdOptions);
}
string pngExportPath = Path.ChangeExtension(exportPath, "png");
using (PsdImage image = (PsdImage)Image.Load(exportPath))
{
// باید هیچ استثنا وجود نداشته باشد.
image.Save(pngExportPath, new PngOptions() { ColorType = PngColorType.GrayscaleWithAlpha });
}
}
SaveToPsdThenLoadAndSaveToPng("grayscale5x5", ColorModes.Cmyk, 16, 5, CompressionMethod.RLE, 0);
SaveToPsdThenLoadAndSaveToPng("argb16bit_5x5", ColorModes.Grayscale, 16, 2, CompressionMethod.RLE, 0);
SaveToPsdThenLoadAndSaveToPng("argb16bit_5x5_no_layers", ColorModes.Grayscale, 16, 2, CompressionMethod.RLE, -1);
SaveToPsdThenLoadAndSaveToPng("argb8bit_5x5", ColorModes.Grayscale, 16, 2, CompressionMethod.RLE, 0);
SaveToPsdThenLoadAndSaveToPng("argb8bit_5x5_no_layers", ColorModes.Grayscale, 16, 2, CompressionMethod.RLE, -1);
SaveToPsdThenLoadAndSaveToPng("cmyk16bit_5x5_no_layers", ColorModes.Grayscale, 16, 2, CompressionMethod.RLE, -1);
SaveToPsdThenLoadAndSaveToPng("index8bit_5x5", ColorModes.Grayscale, 16, 2, CompressionMethod.RLE, -1);
PSDNET-587. تراز متن از طریق ITextPortion برای زبانهای راست به چپ کار نمیکند. فایل خروجی دیمیجه میشود.
string sourceFileName = "bidi.psd";
string outputFileName = "bidiOutput.psd";
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
var layer = (TextLayer)image.Layers[2];
var portions = layer.TextData.Items;
portions[0].Paragraph.Justification = 2;
layer.TextData.UpdateLayerData();
image.Save(outputFileName);
}
PSDNET-604. استثنا هنگام تلاش برای باز کردن یک فایل Psd خاص با رنگ Lab و 8 بیت/کانال
string srcFile = "Untitled-1.psd";
string outputFilePsd = "output.psd";
using (var psdImage = (PsdImage)Image.Load(srcFile))
{
psdImage.Save(outputFilePsd);
}
// پرونده LAB بدون ایجاد استثنا بارگذاری و ذخیره میشود.
PSDNET-598. رفع مشکل ذخیره تصویر PSD با حالت رنگ خاکستری با 16 بیت برای هر کانال به فرمت 8 بیت بر کانال PSD خاکستری
string sourceFileName = "grayscale16bit.psd";
string exportFileName = "grayscale16bit_output.psd";
PsdOptions psdOptions = new PsdOptions()
{
ColorMode = ColorModes.Grayscale,
ChannelBitsCount = 8,
ChannelsCount = 2
};
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
RasterCachedImage raster = image.Layers[0];
Aspose.PSD.Graphics graphics = new Graphics(raster);
int width = raster.Width;
int height = raster.Height;
Rectangle rect = new Rectangle(width / 3, height / 3, width - (2 * (width / 3)) - 1, height - (2 * (height / 3)) - 1);
graphics.DrawRectangle(new Aspose.PSD.Pen(Color.DarkGray, 1), rect);
image.Save(exportFileName, psdOptions);
}
string pngExportPath = Path.ChangeExtension(exportFileName, "png");
using (PsdImage image = (PsdImage)Image.Load(exportFileName))
{
// باید هیچ استثنا وجود نداشته باشد.
image.Save(pngExportPath, new PngOptions() { ColorType = PngColorType.GrayscaleWithAlpha });
}
PSDNET-599. رفع مشکل ذخیره تصویر PSD با حالت رنگ خاکستری با 16 بیت برای هر کانال به فرمت 16 بیت بر کانال RGB PSD
string sourceFileName = "grayscale16bit.psd";
string exportFileName = "grayscale16bit_output.psd";
PsdOptions psdOptions = new PsdOptions()
{
ColorMode = ColorModes.Rgb,
ChannelBitsCount = 8,
ChannelsCount = 4
};
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
RasterCachedImage raster = image.Layers[0];
Aspose.PSD.Graphics graphics = new Graphics(raster);
int width = raster.Width;
int height = raster.Height;
Rectangle rect = new Rectangle(width / 3, height / 3, width - (2 * (width / 3)) - 1, height - (2 * (height / 3)) - 1);
graphics.DrawRectangle(new Aspose.PSD.Pen(Color.DarkGray, 1), rect);
image.Save(exportFileName, psdOptions);
}
string pngExportPath = Path.ChangeExtension(exportFileName, "png");
using (PsdImage image = (PsdImage)Image.Load(exportFileName))
{
// باید هیچ استثنا وجود نداشته باشد.
image.Save(pngExportPath, new PngOptions() { ColorType = PngColorType.GrayscaleWithAlpha });
}