Aspose.PSD for .NET 20.3 - 릴리스 노트
Contents
[
Hide
]
이 페이지에는 Aspose.PSD for .NET 20.3의 릴리스 노트가 포함되어 있습니다.
키 | 요약 | 카테고리 |
---|---|---|
PSDNET-188 | .Net Core 지원 | 기능 |
PSDNET-523 | Adobe Illustrator 파일을 PDF로 변환 | 기능 |
PSDNET-212 | 한 텍스트 레이어에서 다른 스타일 렌더링 기능 추가 | 기능 |
PSDNET-144 | 흑백 조정 레이어 지원 | 기능 |
PSDNET-233 | AI 형식(버전 8)을 다른 형식으로 내보내기 지원 추가 | 기능 |
PSDNET-540 | PassThrough 블렌딩 모드 처리 지원 (레이어 그룹 전용) | 기능 |
PSDNET-539 | 빈 Unicode Alpha Names 리소스가 포함된 이미지를로드하면 이미지 로드에 실패하는 예외 | 버그 |
PSDNET-541 | 레이어 그룹의 가시성을 변경한 후 부적절한 출력 | 버그 |
PSDNET-516 | PSD 이미지를로드하는 중 예외: RGB의 경우 컬러 섹션 (DropShadow 리소스)은 3 색상 구성 요소를 포함해야하며 CMYK의 경우 4 색상 구성 요소를 포함해야합니다. | 버그 |
PSDNET-536 | 간단한 버전의 생성자를 사용하여 새로 생성된 레이어에 그리려고하면 예외가 발생합니다 | 버그 |
공개 API 변경
추가된 API:
- T:Aspose.PSD.FileFormats.Psd.FontBaseline
- F:Aspose.PSD.FileFormats.Psd.FontBaseline.None
- F:Aspose.PSD.FileFormats.Psd.FontBaseline.Superscript
- F:Aspose.PSD.FileFormats.Psd.FontBaseline.Subscript
- T:Aspose.PSD.FileFormats.Psd.FontCaps
- F:Aspose.PSD.FileFormats.Psd.FontCaps.None
- F:Aspose.PSD.FileFormats.Psd.FontCaps.SmallCaps
- F:Aspose.PSD.FileFormats.Psd.FontCaps.AllCaps
- M:Aspose.PSD.FileFormats.Psd.PsdImage.AddBlackWhiteAdjustmentLayer
- F:Aspose.PSD.FileFormats.Psd.Layers.BlendMode.Absent
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerGroup.BlendModeKey
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.FauxBold
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.FauxItalic
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.Underline
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.Strikethrough
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.FontBaseline
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.BaselineShift
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.FontCaps
- M:Aspose.PSD.FileFormats.Psd.Layers.Text.IText.ProducePortions(System.String[],Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle,Aspose.PSD.FileFormats.Psd.Layers.Text.ITextParagraph)
제거된 API:
- None
사용 예시:
PSDNET-523. Adobe Illustrator 파일을 PDF로 변환
string sourceFile = "rect2_color.ai";
using (var aiImage = (AiImage)Image.Load(sourceFile))
{
aiImage.Save("rect2_color.ai_output.pdf", new PdfOptions());
}
PSDNET-212. 한 텍스트 레이어에서 다른 스타일 렌더링 기능 추가
string sourceFile = "text212.psd";
string ethalonFile = "Ethalon_text212.psd";
string outputFile = "Output_text212.psd";
using (var img = (PsdImage)Image.Load(sourceFile))
{
TextLayer textLayer = (TextLayer)img.Layers[1];
IText textData = textLayer.TextData;
ITextStyle defaultStyle = textData.ProducePortion().Style;
ITextParagraph defaultParagraph = textData.ProducePortion().Paragraph;
defaultStyle.FillColor = Color.DimGray;
defaultStyle.FontSize = 51;
textData.Items[1].Style.Strikethrough = true;
ITextPortion[] newPortions = textData.ProducePortions(new string[] { "E=mc", "2\r", "Bold", "Italic\r", "Lowercasetext" }, defaultStyle, defaultParagraph);
newPortions[0].Style.Underline = true; // 텍스트 스타일 "E=mc" 편집
newPortions[1].Style.FontBaseline = FontBaseline.Superscript; // 텍스트 스타일 "2\r" 편집
newPortions[2].Style.FauxBold = true; // 텍스트 스타일 "Bold" 편집
newPortions[3].Style.FauxItalic = true; // 텍스트 스타일 "Italic\r" 편집
newPortions[3].Style.BaselineShift = -25; // 텍스트 스타일 "Italic\r" 편집
newPortions[4].Style.FontCaps = FontCaps.SmallCaps; // 텍스트 스타일 "Lowercasetext" 편집
foreach (var newPortion in newPortions)
{
textData.AddPortion(newPortion);
}
textData.UpdateLayerData();
img.Save(outputFile);
}
PSDNET-233. AI 형식(버전 8)을 다른 형식으로 내보내기 지원 추가
// AI 파일을 PSD 및 PNG 형식으로 내보내는 예제
string sourceFileName = "form_8.ai";
string outputFileName = "form_8_export";
using (AiImage image = (AiImage)Image.Load(sourceFileName))
{
image.Save(outputFileName + ".psd", new PsdOptions());
image.Save(outputFileName + ".png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}
PSDNET-540. PassThrough 블렌딩 모드 처리 지원 (레이어 그룹 전용)
void AssertIsTrue(bool condition, string message)
{
if (!condition)
{
throw new FormatException(message);
}
}
string sourceFileName = "Apple.psd";
string outputFileName = "Output" + sourceFileName;
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
AssertIsTrue(image.Layers.Length >= 23, "23번째 레이어가 없습니다.");
var layer = image.Layers[23] as LayerGroup;
AssertIsTrue(layer != null, "23번째 레이어가 레이어 그룹이 아닙니다.");
AssertIsTrue(layer.Name == "AdjustmentGroup", "23번째 레이어의 이름이 'AdjustmentGroup'이 아닙니다.");
AssertIsTrue(layer.BlendModeKey == BlendMode.PassThrough, "AdjustmentGroup 레이어는 'pass through' 블렌딩 모드를 가져야합니다.");
image.Save(outputFileName, new PsdOptions());
image.Save("OutputApple.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
layer.BlendModeKey = BlendMode.Normal;
image.Save("Normal" + outputFileName, new PsdOptions());
image.Save("NormalOutputApple.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}
SPSDNET-180. 텍스트 레이어 텍스트 업데이트 시 예외 발생
// 텍스트 레이어 텍스트 업데이트 시 예외 발생
string filePath = "FlipVertical.psd";
string outputPath = "FlipVertical_changed.psd";
var newText = "Test";
using (var image = Image.Load(filePath))
{
var psdImage = image as PsdImage;
if (image == null)
{
return;
}
var layers = psdImage.Layers;
for (var index = layers.Length - 1; index >= 0; index--)
{
var layer = layers[index] as TextLayer;
if (layer == null)
{
continue;
}
layer.UpdateText(newText);
}
var imageOptions = new PsdOptions(psdImage);
psdImage.Save(outputPath, imageOptions);
}
PSDNET-182. RotateFlip 작업 후 PSD 이미지 저장 시 손상된 파일이 생성되어 열 수 없는 파일이 생성됨
string sourceFileName = "1.psd";
RotateFlipType flipType = RotateFlipType.Rotate270FlipXY;
string outFileNamePsd = "RotateFlipTest2617.psd";
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
image.RotateFlip(flipType);
image.Save(outFileNamePsd);
}
// 예외없이 실행되어야 함
using (PsdImage image = (PsdImage)Image.Load(outFileNamePsd))
{
// 아무것도 하지 않음
}
PSDNET-539. 빈 Unicode Alpha Names 리소스가 포함된 이미지를로드하면 이미지 로드에 실패하는 예외
string sourcePath = "apple.psd";
using (var psdImage = (PsdImage)Image.Load(sourcePath)) // 여기에서는 예외 없이 실행되어야 합니다
{
// 아무것도 하지 않음
}
PSDNET-541. 레이어 그룹의 가시성을 변경한 후 부적절한 출력
string sourceFile = "input.psd";
string outputFile = "output.psd";
// 레이어 이름을 변경하고 저장
using (var image = (PsdImage)Image.Load(sourceFile))
{
for (int i = 0; i < image.Layers.Length; i++)
{
var layer = image.Layers[i];
// 그룹 내에서 모든 것을 끕니다
if (layer is LayerGroup)
{
layer.IsVisible = false;
}
}
image.Save(outputFile);
}
PSDNET-516. PSD 이미지를로드하는 중 예외: 컬러 섹션 (DropShadow 리소스)은 RGB의 경우 3 색상 구성 요소를, CMYK의 경우 4 색상 구성 요소를 포함해야함
string sourceFile = "sss0136=GUID-SSS0136=1=ar-sa=Low.psd";
using (var img = (PsdImage)Image.Load(sourceFile)) // 여기에서는 예외 없이 실행되어야 함
{
// 아무것도 하지 않음
}
PSDNET-536. 심플 버전의 생성자를 사용하여 새 레이어에 그리려고하면 예외가 발생함
string outputFile = "output.psd";
int width = 100;
int height = 100;
using (var image = new PsdImage(width, height))
{
var layer = new Layer();
layer.Bottom = height;
layer.Right = width;
image.AddLayer(layer);
Graphics graphic = new Graphics(layer);
graphic.Clear(Color.Yellow);
// Pen 도구를 사용하여 사각형 그리기
graphic.DrawRectangle(new Pen(Color.Red), new Rectangle(30, 10, 40, 80));
// 파란색 중첩 브러시로 다른 사각형 그리기
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue)), new Rectangle(10, 30, 80, 40));
image.Save(outputFile);
}