您的位置:首页 > 编程语言 > ASP

Aspose.Imaging 有趣的功能

2020-04-30 12:17 1131 查看

在本文中,我将列出Aspose.Imaging与其他类似软件的区别以及通常涉及的有趣功能。

适用于.Net 2.0以上版本和Java的统一API

Aspose.Imaging是针对.Net和Java而构建的,因此两个版本是相同的,并且具有相同的API。API文档可在以下两个版本获得并分别根据.Net和Java生态系统的约定进行样式设置。除了样式没有其他区别。请注意,在本文和其他文章中,我指的是.Net版本的docs。

通过REST API的云版本

有一个公共的REST API服务,可让您使用Aspose.Imaging,将文件上传到API主机,进行处理然后再下载回去。请参阅Aspose.Imaging Cloud文档上的文档

ICC颜色配置文件支持

Aspose.Imaging可以使用指定的颜色配置文件转换图像。TIFF、PSD和JPEG图像支持颜色配置文件(使用YCCK或CMYK彩色模式时)。在使用Aspose.Imaging 18.3将RGB TIFF转换为CMYK TIFF中,可以找到有关为TIFF图像使用颜色配置文件的示例。

灰度ICC配置文件支持

可以通过PsdImage的GrayColorProfile属性访问灰度ICC配置文件。参见示例:

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code>    <span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">PsdImage</span> <span style="color:#f8f8f2">psdImage</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">PsdImage</span><span style="color:#f8f8f2">)</span><span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"gray-d15.psd"</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#808080">//StreamSource cmykProfile = psdImage.CmykColorProfile;</span>
<span style="color:#808080">//StreamSource rgbProfile = psdImage.RgbColorProfile;</span>
<span style="color:#f8f8f2">StreamSource</span> <span style="color:#f8f8f2">grayProfile</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">psdImage</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">GrayColorProfile</span><span style="color:#f8f8f2">;</span>

<span style="color:#808080">// Save to grayscale TIFF</span>
<span style="color:#f8f8f2">TiffOptions</span> <span style="color:#f8f8f2">saveOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">TiffOptions</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">TiffExpectedFormat</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Default</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">saveOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Photometric</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">TiffPhotometrics</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">MinIsBlack</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">saveOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">BitsPerSample</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#f39c12">ushort</span><span style="color:#f8f8f2">[]</span> <span style="color:#f8f8f2">{</span> <span style="color:#dda0dd">8</span> <span style="color:#f8f8f2">};</span>

<span style="color:#808080">// No ICC profile</span>
<span style="color:#f8f8f2">psdImage</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"gray-d15.psd.noprofile.tif"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">saveOptions</span><span style="color:#f8f8f2">);</span>

<span style="color:#808080">// Embed ICC profile</span>
<span style="color:#f8f8f2">saveOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">IccProfile</span> <span style="color:#f8f8f2">=</span> <span style="color:#7ed07e">ToMemoryStream</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">grayProfile</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">psdImage</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"gray-d15.psd.tif"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">saveOptions</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>

多线程支持

Aspose.Imaging加载的所有图像都是独立的实例,可以并行处理而不会出现问题。但是,对单个图像的操作应仅在一个线程内发生。

OpenDocument图形(ODG)支持

Aspose.Imaging可以加载ODG图像并将其导出到栅格。与其他任何可读格式一样,这些文件都使用Image.Load()方法加载。

SVG和图元文件(EMF,WMF)矢量图像的栅格化

这些格式也可以通过Image.Load()方法加载,然后保存为任何受支持的导出格式。

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code><span style="color:#f39c12">public</span> <span style="color:#f39c12">void</span> <span style="color:#7ed07e">SvgToPng</span><span style="color:#f8f8f2">()</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">string</span> <span style="color:#f8f8f2">path</span> <span style="color:#f8f8f2">=</span> <span style="color:#f2ca27">"in.svg"</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">string</span> <span style="color:#f8f8f2">destFilePath</span> <span style="color:#f8f8f2">=</span> <span style="color:#f2ca27">"out.png"</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">Image</span> <span style="color:#f8f8f2">image</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">path</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">destFilePath</span><span style="color:#f8f8f2">,</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">PngOptions</span><span style="color:#f8f8f2">());</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>

DICOM和DJVU支持

这些被支持为导入格式,Aspose.Imaging尚无法导出它们。多页支持适用于两种格式,您可以选择要导出的页面。有关详细的示例,请参见Aspose.Imaging简介的第2部分文章。

将图像保存为PDF格式。

加载的图像可以导出为PDF。请注意,Aspose仅支持PDF文件的输出。Imaging不会读取它们,这是另一种产品Aspose.PDF的工作。与任何导出一样,可以通过创建PdfOptions实例并将其传递给Image.Save()来选择它。例子如下:

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code><span style="color:#f39c12">public</span> <span style="color:#f39c12">void</span> <span style="color:#7ed07e">GifToPdf</span><span style="color:#f8f8f2">()</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">string</span> <span style="color:#f8f8f2">path</span> <span style="color:#f8f8f2">=</span> <span style="color:#f2ca27">"transparent_orig.gif"</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">string</span> <span style="color:#f8f8f2">destFilePath</span> <span style="color:#f8f8f2">=</span> <span style="color:#f2ca27">"transparent_orig.gif.pdf"</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">Image</span> <span style="color:#f8f8f2">image</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">path</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">destFilePath</span><span style="color:#f8f8f2">,</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">PdfOptions</span><span style="color:#f8f8f2">());</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>

XMP和EXIF元数据支持

两种元数据格式都可以使用Aspose.Imaging读取和操作。
请参阅第5部分“ Aspose.Imaging简介”中有关使用XMP元数据的示例。

大图像支持

Aspose.Imaging支持处理不适合RAM的图像,甚至在相对较弱的计算机上也可以处理非常大的图像文件。

每通道16位TIFF支持

从18.6版开始,Aspose.Imaging支持16位通道的TIFF文件。但是,支持尚未完成,ICC配置文件当前未应用。有一个有关如何提取每个通道值的示例:

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code><span style="color:#808080">// ICC profile is not applied for 16-bit color components at the moment, so disable that option explicitly.</span>
<span style="color:#f8f8f2">LoadOptions</span> <span style="color:#f8f8f2">loadOptions</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">LoadOptions</span><span style="color:#f8f8f2">();</span>
<span style="color:#f8f8f2">loadOptions</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">UseIccProfileConversion</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">false</span><span style="color:#f8f8f2">;</span>

<span style="color:#f8f8f2">Rectangle</span> <span style="color:#f8f8f2">desiredArea</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">Rectangle</span><span style="color:#f8f8f2">(</span><span style="color:#dda0dd">470</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">1350</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">30</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">30</span><span style="color:#f8f8f2">);</span>

<span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">RasterImage</span> <span style="color:#f8f8f2">image</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">RasterImage</span><span style="color:#f8f8f2">)</span><span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">tiff16File</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">loadOptions</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">long</span><span style="color:#f8f8f2">[]</span> <span style="color:#f8f8f2">colors64Bit</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">LoadArgb64Pixels</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">image</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Bounds</span><span style="color:#f8f8f2">);</span>

<span style="color:#f39c12">ushort</span> <span style="color:#f8f8f2">alpha</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">red</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">green</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">blue</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">for</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">int</span> <span style="color:#f8f8f2">y</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">desiredArea</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Top</span><span style="color:#f8f8f2">;</span> <span style="color:#f8f8f2">y</span> <span style="color:#f8f8f2"><</span> <span style="color:#f8f8f2">desiredArea</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Bottom</span><span style="color:#f8f8f2">;</span> <span style="color:#f8f8f2">++</span><span style="color:#f8f8f2">y</span><span style="color:#f8f8f2">)</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">for</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">int</span> <span style="color:#f8f8f2">x</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">desiredArea</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Left</span><span style="color:#f8f8f2">;</span> <span style="color:#f8f8f2">x</span> <span style="color:#f8f8f2"><</span> <span style="color:#f8f8f2">desiredArea</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Right</span><span style="color:#f8f8f2">;</span> <span style="color:#f8f8f2">++</span><span style="color:#f8f8f2">x</span><span style="color:#f8f8f2">)</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">int</span> <span style="color:#f8f8f2">offset</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">y</span> <span style="color:#f8f8f2">*</span> <span style="color:#f8f8f2">image</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Width</span> <span style="color:#f8f8f2">+</span> <span style="color:#f8f8f2">x</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">long</span> <span style="color:#f8f8f2">color64</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">colors64Bit</span><span style="color:#f8f8f2">[</span><span style="color:#f8f8f2">offset</span><span style="color:#f8f8f2">];</span>

<span style="color:#f8f8f2">alpha</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">ushort</span><span style="color:#f8f8f2">)((</span><span style="color:#f8f8f2">color64</span> <span style="color:#f8f8f2">>></span> <span style="color:#dda0dd">48</span><span style="color:#f8f8f2">)</span> <span style="color:#f8f8f2">&</span> <span style="color:#dda0dd">0xffff</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">red</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">ushort</span><span style="color:#f8f8f2">)((</span><span style="color:#f8f8f2">color64</span> <span style="color:#f8f8f2">>></span> <span style="color:#dda0dd">32</span><span style="color:#f8f8f2">)</span> <span style="color:#f8f8f2">&</span> <span style="color:#dda0dd">0xffff</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">green</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">ushort</span><span style="color:#f8f8f2">)((</span><span style="color:#f8f8f2">color64</span> <span style="color:#f8f8f2">>></span> <span style="color:#dda0dd">16</span><span style="color:#f8f8f2">)</span> <span style="color:#f8f8f2">&</span> <span style="color:#dda0dd">0xffff</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">blue</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">ushort</span><span style="color:#f8f8f2">)(</span><span style="color:#f8f8f2">color64</span> <span style="color:#f8f8f2">&</span> <span style="color:#dda0dd">0xffff</span><span style="color:#f8f8f2">);</span>

<span style="color:#f8f8f2">Console</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">WriteLine</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"A={0}, R={1}, G={2}, B={3}"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">alpha</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">red</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">green</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">blue</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>

DNG支持

Aspose.Imaging可以读取DNG文件格式,以对照片图像进行无损处理。与其他任何图像一样,只需调用Image.Load()即可

无损JPEG和JPEG-LS支持

这些是很少实现的JPEG文件压缩方法。Aspose.Imaging允许通过JpegOptions的CompressionType属性设置压缩类型。此外,还支持基线和渐进压缩方法。

Jpeg2000支持。

这也是一种很少支持的格式。Aspose.Imaging支持Jpeg2000图像的导入和导出。与其他任何输出格式一样,可以通过创建Jpeg2000Options实例并将其传递给Image.Save()方法来选择导出。

支持导出EMF图像

可以通过Aspose.Imaging导出EMF图像。查看有关如何与他们合作的示例:

[code]<span style="color:#f8f8f2"><span style="color:#eff0f9"><code><span style="color:#f39c12">public</span> <span style="color:#f39c12">void</span> <span style="color:#7ed07e">TestSaveEmf</span><span style="color:#f8f8f2">()</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">var</span> <span style="color:#f8f8f2">path</span> <span style="color:#f8f8f2">=</span> <span style="color:#f2ca27">@"TestEmfBezier.emf"</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">var</span> <span style="color:#f8f8f2">image</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">MetaImage</span><span style="color:#f8f8f2">)</span><span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">path</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">path</span> <span style="color:#f8f8f2">+</span> <span style="color:#f2ca27">".emf"</span><span style="color:#f8f8f2">,</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">EmfOptions</span><span style="color:#f8f8f2">());</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">}</span>

<span style="color:#f39c12">public</span> <span style="color:#f39c12">void</span> <span style="color:#7ed07e">TestSaveEmfPlus</span><span style="color:#f8f8f2">()</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">var</span> <span style="color:#f8f8f2">path</span> <span style="color:#f8f8f2">=</span> <span style="color:#f2ca27">@"TestEmfPlusFigures.emf"</span><span style="color:#f8f8f2">;</span>
<span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f39c12">var</span> <span style="color:#f8f8f2">image</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">MetaImage</span><span style="color:#f8f8f2">)</span><span style="color:#f8f8f2">Image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Load</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">path</span><span style="color:#f8f8f2">))</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">path</span> <span style="color:#f8f8f2">+</span> <span style="color:#f2ca27">".emf"</span><span style="color:#f8f8f2">,</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">EmfOptions</span><span style="color:#f8f8f2">());</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">}</span>

<span style="color:#f39c12">public</span> <span style="color:#f39c12">void</span> <span style="color:#7ed07e">TestSaveEmfGraphics</span><span style="color:#f8f8f2">()</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">EmfRecorderGraphics2D</span> <span style="color:#f8f8f2">graphics</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">EmfRecorderGraphics2D</span><span style="color:#f8f8f2">(</span>
<span style="color:#f39c12">new</span> <span style="color:#7ed07e">Rectangle</span><span style="color:#f8f8f2">(</span><span style="color:#dda0dd">0</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">0</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">5000</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">5000</span><span style="color:#f8f8f2">),</span>
<span style="color:#f39c12">new</span> <span style="color:#7ed07e">Size</span><span style="color:#f8f8f2">(</span><span style="color:#dda0dd">5000</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">5000</span><span style="color:#f8f8f2">),</span>
<span style="color:#f39c12">new</span> <span style="color:#7ed07e">Size</span><span style="color:#f8f8f2">(</span><span style="color:#dda0dd">1000</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">1000</span><span style="color:#f8f8f2">));</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f8f8f2">Font</span> <span style="color:#f8f8f2">font</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">Font</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"Arial"</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">10</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">FontStyle</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Bold</span> <span style="color:#f8f8f2">|</span> <span style="color:#f8f8f2">FontStyle</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Underline</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">graphics</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">DrawString</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">font</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Name</span> <span style="color:#f8f8f2">+</span> <span style="color:#f2ca27">" "</span> <span style="color:#f8f8f2">+</span> <span style="color:#f8f8f2">font</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Size</span> <span style="color:#f8f8f2">+</span> <span style="color:#f2ca27">" "</span> <span style="color:#f8f8f2">+</span> <span style="color:#f8f8f2">font</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Style</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">ToString</span><span style="color:#f8f8f2">(),</span> <span style="color:#f8f8f2">font</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">Color</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Brown</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">10</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">10</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">graphics</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">DrawString</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"some text"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">font</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">Color</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Brown</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">10</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">30</span><span style="color:#f8f8f2">);</span>

<span style="color:#f8f8f2">font</span> <span style="color:#f8f8f2">=</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">Font</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"Arial"</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">24</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">FontStyle</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Italic</span> <span style="color:#f8f8f2">|</span> <span style="color:#f8f8f2">FontStyle</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Strikeout</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">graphics</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">DrawString</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">font</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Name</span> <span style="color:#f8f8f2">+</span> <span style="color:#f2ca27">" "</span> <span style="color:#f8f8f2">+</span> <span style="color:#f8f8f2">font</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Size</span> <span style="color:#f8f8f2">+</span> <span style="color:#f2ca27">" "</span> <span style="color:#f8f8f2">+</span> <span style="color:#f8f8f2">font</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Style</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">ToString</span><span style="color:#f8f8f2">(),</span> <span style="color:#f8f8f2">font</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">Color</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Brown</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">20</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">50</span><span style="color:#f8f8f2">);</span>
<span style="color:#f8f8f2">graphics</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">DrawString</span><span style="color:#f8f8f2">(</span><span style="color:#f2ca27">"some text"</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">font</span><span style="color:#f8f8f2">,</span> <span style="color:#f8f8f2">Color</span><span style="color:#f8f8f2">.</span><span style="color:#f8f8f2">Brown</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">20</span><span style="color:#f8f8f2">,</span> <span style="color:#dda0dd">80</span><span style="color:#f8f8f2">);</span>

<span style="color:#f39c12">using</span> <span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">EmfImage</span> <span style="color:#f8f8f2">image</span> <span style="color:#f8f8f2">=</span> <span style="color:#f8f8f2">graphics</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">EndRecording</span><span style="color:#f8f8f2">())</span>
<span style="color:#f8f8f2">{</span>
<span style="color:#f39c12">var</span> <span style="color:#f8f8f2">path</span> <span style="color:#f8f8f2">=</span> <span style="color:#f2ca27">@"Fonts.emf"</span><span style="color:#f8f8f2">;</span>
<span style="color:#f8f8f2">image</span><span style="color:#f8f8f2">.</span><span style="color:#7ed07e">Save</span><span style="color:#f8f8f2">(</span><span style="color:#f8f8f2">path</span><span style="color:#f8f8f2">,</span> <span style="color:#f39c12">new</span> <span style="color:#7ed07e">EmfOptions</span><span style="color:#f8f8f2">());</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">}</span>
<span style="color:#f8f8f2">}</span>
</code></span></span>

特定图像格式支持优化

Aspose.Imaging支持有损GIF来减小GIF图像大小。
对于JPEG,使用率失真优化来优化压缩过程中的图像质量。

即将到来

.Net标准

.NET标准将在不久的将来得到支持,因此将有一个具有本机.NET Core支持的库版本。

反向图像搜索

Aspose.Imaging for Cloud(即公共REST API)将很快支持反向图像搜索!

逐步淘汰

PSD支持

PSD支持将移至其自己的产品Aspose.PSD。

现在,仅此而已。将来,本文将使用新的和旧的有趣功能进行更新。

原文链接:https://dev.to//nnevod/interesting-features-of-asposeimaging-15h7

cunxiedian8614 原创文章 0获赞 2访问量 2万+ 关注 私信
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: