提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|产品更新|编辑:李显亮|2020-05-21 10:09:18.723|阅读 215 次
概述:Aspose.Imaging for .NET更新至最新版v20.5,支持从TIFF提取路径,优化Dicom格式的速度或内存,支持将可读的全帧gif导出为多页图像格式,欢迎下载体验。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
Aspose.Imaging for .NET一种高级图像处理控件,允许开发人员创建,编辑,绘制或转换图像。图像导出和转换是API核心功能之一,它允许在不安装Photoshop应用程序或任何其他图像编辑器的情况下保存为AdobePhotoshop®本机格式。
事实证明,Aspose.Imaging是处理各种图像格式的强大API。除单页图像外,Aspose.Imaging还支持处理多页图像,包括GIF,TIFF,PSD,DICOM,CDR和WebP。
近期发布了Aspose.Imaging for .NET v20.5,支持从TIFF提取路径,优化Dicom格式的速度或内存,支持将可读的全帧gif导出为多页图像格式,还没使用过的朋友可以点击下载最新版Aspose.Imaging
key | 概述 | 类别 |
---|---|---|
IMAGINGNET-3731 | 支持从TIFF提取路径 | 功能 |
IMAGINGNET-3417 | 允许Dicom格式的速度或内存优化策略 | 功能 |
IMAGINGNET-3724 | 支持将可读的全帧gif导出为多页图像格式 | 功能 |
IMAGINGNET-3822 | 18.8-20.3:无法绘制半透明图像 | 增强功能 |
IMAGINGNET-3821 | 成像WMF到PDF的转换问题 | 增强功能 |
IMAGINGNET-3820 | 合并TIFF图像的异常 | 增强功能 |
IMAGINGNET-3819 | 导出为PDF时出现ImageSave异常 | 增强功能 |
IMAGINGNET-3812 | 从Tiff属性中删除主题和评论 | 增强功能 |
IMAGINGNET-3764 | 从EMF转换为PNG或SVG时,出现黑色的“边框” | 增强功能 |
### Clipping Path Clipping path is the Photoshop technique to remove the background from an image. Photoshop allows you to select a part of an image using Clipping Path and save the path within a file. Clipping Paths allow you to hide the part of an image you don't want to appear. Anything inside the clipping path will be visible, but anything outside of it will be transparent. Other words Photoshop makes it possible to isolate certain parts of an image, without permanently changing the layer. This allows you to tweak the image at any point in the creative process. Clipping Paths are a traditional method of cutting out objects or people in Photoshop that allows you to create image files with transparent backgrounds. This approach works best with objects or people with "hard" edges around the object or person you want to cut out. ### Access Clipping Paths in TIFF image *PathResources* property allows you to access Clipping Paths in TIFF frame. The following code retrieves paths from TIFF image and displays their names in the console: using (var image = (TiffImage)Image.Load("Sample.tif")) { foreach (var path in image.ActiveFrame.PathResources) { Console.WriteLine(path.Name); } } ### Modify existing Clipping Paths You can easily modify already existing Clipping Paths. For instance, you can keep only one Clipping Path in the image: using (var image = (TiffImage)Image.Load("Sample.tif")) { var paths = image.ActiveFrame.PathResources; image.ActiveFrame.PathResources = paths.Take(1).ToList(); image.Save(); } ### Create Clipping Path manually You can manually create Clipping Path in TIFF image. In order to do that you need to create an instance of *PathResource* class. The following code demonstrates the way how you can create an empty path in TIFF image: var options = new TiffOptions(TiffExpectedFormat.Default); var frame = new TiffFrame(options, 800, 600); using (var image = new TiffImage(frame)) { image.ActiveFrame.PathResources = new List{ new PathResource { BlockId = 2000, Name = "My Clipping Path", Records = new List() } }; image.Save("ImageWithEmptyPath.tiff"); } ### Clipping Path content To create your own Clipping Paths you need to understand their content. Photoshop stores its paths as resources with IDs in the range 2000 through 2997. The name of the resource is the name given to the path when it was saved. If the file contains a resource with an ID of 2999, then this resource contains the name of the clipping path. Each path has a set of records to hold the data. **Record classes:** *LengthRecord* - contains the number of Bezier knot records. *BezierKnotRecord* - describes the knots of the path. *ClipboardRecord* - contains four fixed-point numbers for the bounding rectangle. More details you can find in [Adobe Photoshop File Formats Specification](//www.adobe.com/devnet-apps/photoshop/fileformatashtml/).
// Added support for full-frame export from gif format string baseDirectoryPath = @"D:\"; string fileName = "Animation.gif"; string inputFilePath = Path.Combine(baseDirectoryPath, fileName); string outputFilePath = inputFilePath + "_FullFrame.tif"; string outputFilePath1 = inputFilePath + "_NonFullFrame.tif"; using (Image image = Image.Load(inputFilePath)) { image.Save(outputFilePath, new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { MultiPageOptions = new MultiPageOptions(new IntRange(2, 5)), FullFrame = true }); image.Save(outputFilePath1, new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { MultiPageOptions = new MultiPageOptions(new IntRange(2, 5))}); }
// Example 1. Setting a memory limit of 50 megabytes for operations on the created Dicom image var imageOptions = new DicomOptions(); imageOptions.Source = new FileCreateSource("created.dcm", false); imageOptions.BufferSizeHint = 50; using (Image image = Image.Create(imageOptions, 1000, 1000)) { // Do something with the created image //... image.Save(); } // Example 2. Setting a memory limit of 20 megabytes for operations on the loaded Dicom image var loadOptions = new LoadOptions(); loadOptions.BufferSizeHint = 20; using (Image image = Image.Load("image.dcm", loadOptions)) { // Do something with the loaded image //... } // Example 3. Settings a memory limit of 30 mebagytes for export-to-dicom operation var loadOptions = new LoadOptions(); loadOptions.BufferSizeHint = 30; using (Image image = Image.Load("image.png", loadOptions)) { image.Save("exported.dcm", new DicomOptions()); }
// Create a multi-page Dicom image. using (DicomImage image = (DicomImage)Image.Create( new DicomOptions() { Source = new StreamSource(new MemoryStream()) }, 100, 100)) { // Draw something using vector graphics Graphics graphics = new Graphics(image); graphics.FillRectangle(new SolidBrush(Color.BlueViolet), image.Bounds); graphics.FillRectangle(new SolidBrush(Color.Aqua), 10, 20, 50, 20); graphics.FillEllipse(new SolidBrush(Color.Orange), 30, 50, 70, 30); // Save the pixels of the drawn image. They are now on the first page of the Dicom image. int[] pixels = image.LoadArgb32Pixels(image.Bounds); // Add a few pages after, making them darker for (int i = 1; i < 5; i++) { DicomPage page = image.AddPage(); page.SaveArgb32Pixels(page.Bounds, pixels); page.AdjustBrightness(i * 30); } // Add a few pages in front of the main page, making them brighter for (int i = 1; i < 5; i++) { DicomPage page = image.InsertPage(0); page.SaveArgb32Pixels(page.Bounds, pixels); page.AdjustBrightness(-i * 30); } // Save the created multi-page image to the output file image.Save("MultiPage.dcm"); }
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
知名C/C++开发工具CLion全新发布v2024.3,新版本新语言引擎有显著改进等,欢迎下载新版体验!
强大的VS插件CodeRush已正式发布v24.2.3,新版本现在可以运行xUnit.Net v3测试等,欢迎下载最新版体验!
Spire.PDF 10.12.4 最新版本支持在进行多页打印时设置自动旋转方向。同时,一些已知问题也在本次更新中被成功修复,例如打印 PDF 文档时内容丢失的问题,欢迎下载体验~
日程安排控件dhtmlxScheduler v7.2全新发布,新版本增强并增加了编辑、修改等多个操作体验,欢迎下载最新版试用~
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢