彩票走势图

图像处理控件Aspose.Imaging v19.7新版功能亮点示例详解 | 附下载

翻译|产品更新|编辑:李显亮|2019-08-07 11:29:03.767|阅读 400 次

概述:近期发布了Aspose.Imaging for .NET v19.7,支持PartialRotater类中的优化策略,支持OTG(OpenDocument图形模板),本文我们一起来探索新版中的新增功能及其工作原理。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Aspose.Imaging for .NET一种高级图像处理控件,允许开发人员创建,编辑,绘制或转换图像。图像导出和转换是API核心功能之一,它允许在不安装Photoshop应用程序或任何其他图像编辑器的情况下保存为AdobePhotoshop®本机格式。

近期发布了Aspose.Imaging for .NET v19.7,支持PartialRotater类中的优化策略,支持OTG(OpenDocument图形模板),下面我们一起来探索新版中的新增功能及其工作原理。>>欢迎下载Aspose.Imaging for .NET v19.7体验

▲IMAGINGNET-2926 - 将PSD保存到PDF中不提供可选择的文本

 //将文本转换为向量对象
using (Image image = Image.Load("text.psd"))
{
    image.Save(fileName + "text_vector.pdf", new PdfOptions());
}//

//老式的转换与充分光栅化
using (Image image = Image.Load("text.psd", new PsdLoadOptions() { ReadOnlyMode = true }))
{
    image.Save(fileName + "text_vector.pdf", new PdfOptions());
}


▲IMAGINGNET-3381 - 在PartialRotater类中支持优化策略

//为目标加载的图像设置50兆字节的内存限制
using (var image = Image.Load(imageFilePath, new LoadOptions() { BufferSizeHint = 50 })) {
 //执行RotateFlip操作
 image.RotateFlip(RotateFlipType.Rotate90FlipNone);
//执行旋转操作
 ((RasterImage)image).Rotate(60); // rotate 60 degrees clockwise
}


▲IMAGINGNET-2044 - 支持OTG (OpenDocument图形模板)

string baseFolder = "D:";
           string fileName = "VariousObjectsMultiPage.otg";
           ImageOptionsBase[] options = { new PngOptions(), new PdfOptions() };
           foreach (ImageOptionsBase item in options)
            {
               string inputFileName = Path.Combine(baseFolder, fileName);
               string fileExt = item is PngOptions ? ".png" : ".pdf";
               string outputFileName = Path.Combine(baseFolder, fileName + fileExt);
               using (Image image = Image.Load(inputFileName))
               {
                   OtgRasterizationOptions otgRasterizationOptions = new OtgRasterizationOptions();
                   otgRasterizationOptions.PageSize = image.Size;
                   item.VectorRasterizationOptions = otgRasterizationOptions;
                   image.Save(outputFileName, item);
                }
           }


▲IMAGINGNET-3442 - Bpmn.io SVG转换导致陌生的PNG

using(Image image = Image.Load(“input.svg”))
{ 
    image.Save(
        “output.png”,
        new PngOptions()
            { 
                VectorRasterizationOptions = new SvgRasterizationOptions 
                                                 { 
                                                     PageSize = image.Size,
                                                 } 
            }); 
}


▲IMAGINGNET-3430 - 支持PDFOptions中的DPI设置

  string baseFolder =“D:
”; 
            string fileName =“standardSize.tif”; 
            string inputFileName = Path.Combine(baseFolder,fileName); 
            string outFileName = inputFileName +“。pdf”; 
            using(Image image = Image.Load(inputFileName))
            { 
                PdfOptions pdfOptions = new PdfOptions {PageSize = new SizeF(612,792 )}; 
                image.Save(outFileName,pdfOptions); 
            }


▲IMAGINGNET-3286 - 没有从WMF到SVG的真正转换

 string baseFolder = Path.Combine("D:","3286");
           string fileName = "image2.wmf";
           string inputFileName = Path.Combine(baseFolder, fileName);
           using (Image image = Image.Load(inputFileName))
            {
               string script = ((WmfImage)image).GetPostScript();
               string ethlonScript = File.ReadAllText(inputFileName + ".ps");
               if (script != ethlonScript)
               {
                   throw new Exception("script not eqal ethalon script");
                }
           }

Since PostScript  is not supported in Aspose products, further processing is done by **third-party applications**.
For example:
Use ghostscript (//ghostscript.com/)

           string baseFolder = Path.Combine("D:","3286");
           string fileName = "image2.wmf";
           string inputFileName = Path.Combine(baseFolder, fileName);
           string scriptFileName = inputFileName + ".ps";
           string outputPdfFileName = scriptFileName + ".pdf";
           string ghostPath = "C:
Program Files (x86)
gs
gs8.61
bin
gswin32c.exe";
           string script;
           using (Image image = Image.Load(inputFileName))
            {
               script = ((WmfImage)image).GetPostScript();                              
            }

           File.WriteAllText(scriptFileName, script);
           string cmdArguments = string.Format(" -sDEVICE=pdfwrite -o {0} {1}", outputPdfFileName, scriptFileName);            
           Process proc = System.Diagnostics.Process.Start(ghostPath, cmdArguments);
           proc.WaitForExit(60000);


▲IMAGINGNET-3230 - 将Jpeg转换为Tiff会导致绿色覆盖不正确

using(Image image = Image.Load(“input.jpg”))
{ 
    image.Save(“output.tiff”,new TiffOptions(TiffExpectedFormat.TiffJpegRgb)); 
}


▲IMAGINGNET-3445 - 来自font文件夹的文件被锁定

 string baseFolder = Path.Combine("D:", "test");
           string fontsFolder = Path.Combine(baseFolder, "fonts");

          //创建字体文件夹
           if (!Directory.Exists(fontsFolder))
            {
               Directory.CreateDirectory(fontsFolder);
            }//

          //复制字体到字体文件夹
           string fontFile = Path.Combine(fontsFolder, "foo.ttf");
           if (!File.Exists(fontFile))
            {
               File.Copy(Path.Combine(baseFolder, "foo.ttf"), fontFile);
            }//
            
            //设置字体路径
           List fonts = new List(FontSettings.GetDefaultFontsFolders());
           fonts.Add(fontsFolder);
           FontSettings.SetFontsFolders(fonts.ToArray(), true);//

          //打开图片
           string inputFile = Path.Combine(baseFolder, "grinched-regular-font.psd");
           string outputFile = inputFile + ".png";
           using (Image image = Image.Load(inputFile))
            {
               PngOptions saveOptions = new PngOptions();
               image.Save(outputFile, saveOptions);
            }  
          
           //删除字体文件夹
           Directory.Delete(fontsFolder,true);


▲IMAGINGNET-3444 - 用于调整SVG图像大小的Aspose.Imaging问题

  string baseFolder = "D:
";
            string inputFileName = Path.Combine(baseFolder, "logotype.svg");
            float scale = 10f;
            using (Image image = Image.Load(inputFileName))
            {
                image.Save(inputFileName+".png", new PngOptions()
                {
                    VectorRasterizationOptions = new SvgRasterizationOptions()
                        {PageSize = image.Size, ScaleX = scale, ScaleY = scale}

                });
            }



*想要购买Aspose.Imaging正版授权的朋友可咨询哦~



标签:

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


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP