Aspose.PSD for .Net更新至新版本v20.10,支持智能对象层的渲染,支持智能对象无损转换,欢迎下载体验。
令人兴奋的是,.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进行处理,非常感谢!