PSD文档处理控件Aspose.PSD v21.7新功能示例解析:支持使用 TextPortions 进行字体编辑

原创|产品更新|编辑:李显亮|2021-07-19 09:37:41.793|阅读 23 次

概述:Aspose.PSD for .Net更新至新版本v21.7,支持使用 TextPortions 进行字体编辑,添加到 Aspose.PSD .Net 5.0 配置,欢迎下载体验。

# 31款JAVA开发必备控件和工具 # 企业数字化建设合规无风险[专题]

Aspose.PSD是高级PSD和入门级AI文件格式操作API,允许创建和编辑Photoshop文件,并提供更新图层属性,添加水印,执行图形操作或将一种文件格式转换为另一种文件的功能,没有任何Adobe Photoshop或Adobe Illustrator依赖项。

Aspose.PSD for .Net更新至新版本v21.7,支持使用 TextPortions 进行字体编辑,添加到 Aspose.PSD .Net 5.0 配置。

>>你可以点击这里下载Aspose.PSD for .NET v21.7试用体验。

具体更新内容

key 概述 类别
PSDNET-806 支持使用 TextPortions 进行字体编辑 新功能
PSDNET-917 Aspose.PSD 21.6: ImageSaveException 试图将 PSD 转换为 PNG Bug修复
PSDNET-858 添加到 Aspose.PSD .Net 5.0 配置 增强功能

新功能解析

PSDNET-806——支持使用 TextPortions 进行字体编辑

string outputFilePng = "result_fontEditTest.png";
            string outputFilePsd = "fontEditTest.psd";

            void AssertAreEqual(object expected, object actual)
            {
                if (!object.Equals(expected, actual))
                {
                    throw new Exception("Objects are not equal.");
                }
            }

            using (var image = new PsdImage(500, 500))
            {
                FillLayer backgroundFillLayer = FillLayer.CreateInstance(FillType.Color);
                ((IColorFillSettings)backgroundFillLayer.FillSettings).Color = Color.White;
                image.AddLayer(backgroundFillLayer);

                TextLayer textLayer = image.AddTextLayer("Text 1", new Rectangle(10, 35, image.Width, 35));

                ITextPortion firstPortion = textLayer.TextData.Items[0];
                firstPortion.Style.FontName = FontSettings.GetAdobeFontName("Comic Sans MS");

                var secondPortion = textLayer.TextData.ProducePortion();
                secondPortion.Text = "Text 2";
                secondPortion.Paragraph.Apply(firstPortion.Paragraph);
                secondPortion.Style.Apply(firstPortion.Style);
                secondPortion.Style.FontName = FontSettings.GetAdobeFontName("Arial");

                textLayer.TextData.AddPortion(secondPortion);
                textLayer.TextData.UpdateLayerData();

                image.Save(outputFilePng, new PngOptions());
                image.Save(outputFilePsd);
            }

            using (var image = (PsdImage)Image.Load(outputFilePsd))
            {
                TextLayer textLayer = (TextLayer)image.Layers[2];

                string adobeFontName1 = FontSettings.GetAdobeFontName("Comic Sans MS");
                string adobeFontName2 = FontSettings.GetAdobeFontName("Arial");

                AssertAreEqual(adobeFontName1, textLayer.TextData.Items[0].Style.FontName);
                AssertAreEqual(adobeFontName2, textLayer.TextData.Items[1].Style.FontName);
            }

PSDNET-917——Aspose.PSD 21.6: ImageSaveException 试图将 PSD 转换为 PNG

    string srcFile = "input.psd";
            string output = "output.png";

            using (var image = Aspose.PSD.Image.Load(srcFile))
            {
                image.Save(output, new Aspose.PSD.ImageOptions.PngOptions());
            }

如果你想试用Aspose的全部完整功能,可联系在线客服获取30天临时授权体验。


如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们
TOP
在线客服系统
live chat