新功能示例解析!PSD文档处理工具AsposePSD 10月新版发布!支持智能对象无损转换

Aspose.PSD for .Net更新至新版本v20.10,支持智能对象层的渲染,支持智能对象无损转换,欢迎下载体验。

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

令人兴奋的是,.NET版Aspose.PSD迎来了v20.10的最新更新!新增了如下两个新功能:

  • 支持智能对象层的渲染
  • 支持智能对象无损转换

>>你可以点击这里下载Aspose.PSD for .NET v20.10测试体验。(安装包仅提供部分功能,并设置限制,如需试用完整功能请申请免费授权)

软件国产化服务季来啦!整合所有格式的Aspose.Total永久授权正在火热促销中,乐享85折起!联系客服立马1分钟了解全部咨询!

具体更新内容

key 概述 类别
PSDNET-704 智能对象层的渲染 新功能
PSDNET-707 支持智能对象无损转换 新功能
PSDNET-565 使用文本图层保存特定PSD文件的例外 Bug修复
PSDNET-680 使用Aspose.PSD往返后,字体会丢失 Bug修复
PSDNET-711 保存后,文本层没有任何变化 Bug修复
PSDNET-720 Aspose.PSD 20.8:Psd到Tiff转换异常 Bug修复

新功能解析

PSDJAVA-704——智能对象层的渲染

 // This example demonstrates how to replace the content of the AdobePhotoshopsmart object layer and its correct rendering.            string dataDir = "PSDNET704_1\";            string filePath = dataDir + "new_panama-papers-4-trans4.psd";            string pngOutputPath = dataDir + "new_panama-papers-4-trans4_replaced.png";            string psdOutputPath = dataDir + "new_panama-papers-4-trans4_replaced.psd";            string newContentPath = dataDir + "new_huset.jpg";            using (PsdImage image = (PsdImage)Image.Load(filePath))            {                var smartObjectLayer = (SmartObjectLayer)image.Layers[image.Layers.Length - 1];                smartObjectLayer.ReplaceContents(newContentPath);                image.Save(pngOutputPath, new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });                image.Save(psdOutputPath, new PsdOptions(image));            }            // This example demonstrates how to update the image cache of the AdobePhotoshopsmart object layers and their correct rendering.            filePath = dataDir + "LayeredSmartObjects8bit2.psd";            pngOutputPath = dataDir + "LayeredSmartObjects8bit2_updated.png";            psdOutputPath = dataDir + "LayeredSmartObjects8bit2_updated.psd";            using (PsdImage image = (PsdImage)Image.Load(filePath))            {                image.SmartObjectProvider.UpdateAllModifiedContent();                image.Save(pngOutputPath, new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });                image.Save(psdOutputPath, new PsdOptions(image));            }

PSDJAVA-707——支持智能对象无损转换

   string dataDir = "PSDNET707_1\";            string outputDir = dataDir;            // These examples demonstrate non-destructive transforms of the PSD file with SmartObjectLayer.            // We can scale, rotate, skew, distort, perspective transform, or warp a layer without            // losing original image data or quality because the transforms don’t affect the original data.            // This example demonstrates how to resize the AdobePhotoshopimage with smart object layers:            ExampleOfSmartObjectImageResizeSupport("new_panama-papers-8-trans4-linked");            ExampleOfSmartObjectImageResizeSupport("picture-frame-4-linked3");            ExampleOfSmartObjectImageResizeSupport("gorilla");            // This example demonstrates how to resize the PSD file with smart object layers.            void ExampleOfSmartObjectImageResizeSupport(string fileName)            {                const int scale = 4;                string filePath = dataDir + fileName + ".psd";                string outputPath = outputDir + "Resize_" + fileName + ".psd";                string outputPngPath = outputDir + "Resize_" + fileName + ".png";                using (PsdImage image = (PsdImage)Image.Load(filePath))                {                    int newWidth = image.Width * scale;                    int newHeight = image.Height * scale;                    image.Resize(newWidth, newHeight);                    image.Save(outputPath, new PsdOptions(image));                    image.Save(outputPngPath, new PngOptions { ColorType = PngColorType.TruecolorWithAlpha });                }            }            // This example demonstrates how to resize the AdobePhotoshopsmart object layer.            ExampleOfSmartObjectLayerResizeSupport("new_panama-papers-8-trans4-linked");            ExampleOfSmartObjectLayerResizeSupport("gorilla");            // This example demonstrates how to resize a smart object layer in the PSD file.            void ExampleOfSmartObjectLayerResizeSupport(string fileName)            {                const double scale = 3.5;                string filePath = dataDir + fileName + ".psd";                string outputPath = outputDir + "ResizeLast_" + fileName + ".psd";                string outputPngPath = outputDir + "ResizeLast_" + fileName + ".png";                using (PsdImage image = (PsdImage)Image.Load(filePath))                {                    var smartObjectLayer = image.Layers[image.Layers.Length - 1];                    int newWidth = (int)(smartObjectLayer.Width * scale);                    int newHeight = (int)(smartObjectLayer.Height * scale);                    smartObjectLayer.Resize(newWidth, newHeight);                    image.Save(outputPath, new PsdOptions(image));                    image.Save(outputPngPath, new PngOptions { ColorType = PngColorType.TruecolorWithAlpha });                }            }            // This example demonstrates how to crop the AdobePhotoshopsmart object layer.            ExampleOfSmartObjectLayerCropSupport("new_panama-papers-8-trans4-linked");            ExampleOfSmartObjectLayerCropSupport("gorilla");            // This example demonstrates how to crop a smart object layer in the PSD file.            void ExampleOfSmartObjectLayerCropSupport(string fileName)            {                string filePath = dataDir + fileName + ".psd";                string outputPath = outputDir + "CropLast_" + fileName + ".psd";                string outputPngPath = outputDir + "CropLast_" + fileName + ".png";                using (PsdImage image = (PsdImage)Image.Load(filePath))                {                    var smartObjectLayer = image.Layers[image.Layers.Length - 1];                    smartObjectLayer.Crop(25, 15, 30, 10);                    image.Save(outputPath, new PsdOptions(image));                    image.Save(outputPngPath, new PngOptions { ColorType = PngColorType.TruecolorWithAlpha });                }            }            // This example demonstrates how to crop the AdobePhotoshopsmart object layer:            ExampleOfSmartObjectImageCropSupport("new_panama-papers-8-trans4-linked");            ExampleOfSmartObjectImageCropSupport("gorilla");            // This example demonstrates how to crop the PSD file with smart object layers.            void ExampleOfSmartObjectImageCropSupport(string fileName)            {                string filePath = dataDir + fileName + ".psd";                string outputPath = outputDir + "Crop_" + fileName + ".psd";                string outputPngPath = outputDir + "Crop_" + fileName + ".png";                using (PsdImage image = (PsdImage)Image.Load(filePath))                {                    image.Crop(25, 10, 30, 5);                    image.Save(outputPath, new PsdOptions(image));                    image.Save(outputPngPath, new PngOptions { ColorType = PngColorType.TruecolorWithAlpha });                }            }            // This example demonstrates how to rotate and flip the AdobePhotoshopimage with smart object layers:            ExampleOfSmartObjectImageRotateFlipSupport("gorilla", RotateFlipType.Rotate90FlipNone);            ExampleOfSmartObjectImageRotateFlipSupport("new_panama-papers-8-trans4-linked", RotateFlipType.RotateNoneFlipX);            ExampleOfSmartObjectImageRotateFlipSupport("new_panama-papers-8-trans4-linked", RotateFlipType.RotateNoneFlipY);            ExampleOfSmartObjectImageRotateFlipSupport("new_panama-papers-8-trans4-linked", RotateFlipType.RotateNoneFlipXY);            ExampleOfSmartObjectImageRotateFlipSupport("new_panama-papers-8-trans4-linked", RotateFlipType.Rotate90FlipNone);            ExampleOfSmartObjectImageRotateFlipSupport("new_panama-papers-8-trans4-linked", RotateFlipType.Rotate90FlipX);            ExampleOfSmartObjectImageRotateFlipSupport("new_panama-papers-8-trans4-linked", RotateFlipType.Rotate90FlipY);            ExampleOfSmartObjectImageRotateFlipSupport("new_panama-papers-8-trans4-linked", RotateFlipType.Rotate90FlipXY);            // This example demonstrates how to rotate and flip the PSD file with smart object layers.            void ExampleOfSmartObjectImageRotateFlipSupport(string fileName, RotateFlipType rotateFlipType)            {                string filePath = dataDir + fileName + ".psd";                string outputPath = outputDir + rotateFlipType + "_" + fileName + ".psd";                string outputPngPath = outputDir + rotateFlipType + "_" + fileName + ".png";                using (PsdImage image = (PsdImage)Image.Load(filePath))                {                    image.RotateFlip(rotateFlipType);                    image.Save(outputPath, new PsdOptions(image));                    image.Save(outputPngPath, new PngOptions { ColorType = PngColorType.TruecolorWithAlpha });                }            }            // This example demonstrates how to rotate and flip the AdobePhotoshopsmart object layer.            ExampleOfSmartObjectLayerRotateFlipSupport("gorilla", RotateFlipType.Rotate90FlipNone);            ExampleOfSmartObjectLayerRotateFlipSupport("r3-embedded-transform2", RotateFlipType.RotateNoneFlipX);            ExampleOfSmartObjectLayerRotateFlipSupport("r3-embedded-transform2", RotateFlipType.RotateNoneFlipY);            ExampleOfSmartObjectLayerRotateFlipSupport("r3-embedded-transform2", RotateFlipType.RotateNoneFlipXY);            ExampleOfSmartObjectLayerRotateFlipSupport("r3-embedded-transform2", RotateFlipType.Rotate90FlipNone);            ExampleOfSmartObjectLayerRotateFlipSupport("r3-embedded-transform2", RotateFlipType.Rotate90FlipX);            ExampleOfSmartObjectLayerRotateFlipSupport("r3-embedded-transform2", RotateFlipType.Rotate90FlipY);            ExampleOfSmartObjectLayerRotateFlipSupport("r3-embedded-transform2", RotateFlipType.Rotate90FlipXY);            // This example demonstrates how to rotate and flip a smart object layer in the PSD file.            void ExampleOfSmartObjectLayerRotateFlipSupport(string fileName, RotateFlipType rotateFlipType)            {                string filePath = dataDir + fileName + ".psd";                string outputPath = outputDir + rotateFlipType + "Last_" + fileName + ".psd";                string outputPngPath = outputDir + rotateFlipType + "Last_" + fileName + ".png";                using (PsdImage image = (PsdImage)Image.Load(filePath))                {                    var smartObjectLayer = (SmartObjectLayer)image.Layers[image.Layers.Length - 1];                    smartObjectLayer.RotateFlip(rotateFlipType);                    image.Save(outputPath, new PsdOptions(image));                    image.Save(outputPngPath, new PngOptions { ColorType = PngColorType.TruecolorWithAlpha });                }            }            // This example demonstrates how to rotate the AdobePhotoshopsmart object layer by any angle:            const string AngleFormat = "+#;-#;+0";            ExampleOfSmartObjectLayerRotateSupport("gorilla", 45, false);            ExampleOfSmartObjectLayerRotateSupport("gorilla", 45, true);            ExampleOfSmartObjectLayerRotateSupport("r3-embedded-transform2", -30, true);            ExampleOfSmartObjectLayerRotateSupport("r3-embedded-transform2", -30, false);            ExampleOfSmartObjectLayerRotateSupport("new_panama-papers-8-trans4-linked", 190, false);            ExampleOfSmartObjectLayerRotateSupport("new_panama-papers-8-trans4-linked", 190, true);            // This example demonstrates how to rotate a smart object layer in the PSD file by any angle.            void ExampleOfSmartObjectLayerRotateSupport(string fileName, float angle, bool resizeProportionally)            {                string prefix = "RotateLast" +  angle.ToString(AngleFormat) + (resizeProportionally "ResizeProportionally" : "") + "_";                string filePath = dataDir + fileName + ".psd";                string outputPath = outputDir + prefix + fileName + ".psd";                string outputPngPath = outputDir + prefix + fileName + ".png";                using (PsdImage image = (PsdImage)Image.Load(filePath))                {                    var smartObjectLayer = (SmartObjectLayer)image.Layers[image.Layers.Length - 1];                    smartObjectLayer.Rotate(angle, resizeProportionally, Color.Empty);                    image.Save(outputPath, new PsdOptions(image));                    image.Save(outputPngPath, new PngOptions { ColorType = PngColorType.TruecolorWithAlpha });                }            }            // This example demonstrates how to rotate the AdobePhotoshopimage with smart object layer by any angle            ExampleOfSmartObjectImageRotateSupport("gorilla", 45, false);            ExampleOfSmartObjectImageRotateSupport("new_panama-papers-8-trans4-linked", -30, false);            // This example demonstrates how to rotate the PSD file with smart object layers by any angle.            void ExampleOfSmartObjectImageRotateSupport(string fileName, float angle, bool resizeProportionally)            {                string prefix = "Rotate" +  angle.ToString(AngleFormat) + (resizeProportionally "ResizeProportionally" : "") + "_";                string filePath = dataDir + fileName + ".psd";                string outputPath = outputDir + prefix + fileName + ".psd";                string outputPngPath = outputDir + prefix + fileName + ".png";                using (PsdImage image = (PsdImage)Image.Load(filePath))                {                    image.Rotate(angle, resizeProportionally, Color.Empty);                    image.Save(outputPath, new PsdOptions(image));                    image.Save(outputPngPath, new PngOptions { ColorType = PngColorType.TruecolorWithAlpha });                }            }

还想要更多吗可以点击阅读【2020 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群,我们很高兴为您提供查询和咨询
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月19日
下一篇 2020年9月19日

相关推荐

发表回复

登录后才能评论