Aspose.Imaging 有趣的功能
在本文中,我将列出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万+ 关注 私信- PHP中header函数的一些有趣功能
- [转]redis-cli的一些有趣也很有用的功能
- PDF组件 Aspose.Pdf V17.6发布 | 新增单元格文档旋转功能
- SUA--Win7的有趣功能
- Aspose.Words for .NET基本介绍以及功能介绍
- 神奇又有趣!你所不知的安卓隐藏功能(转)
- Android L SDK -- 一些有趣的新功能
- 微软Word有趣的"特色功能"_The quick brown fox jumps over the lazy dog.
- Aspose.Words for .NET使用教程(五):文档格式功能及邮件合并功能
- Aspose.Words for .NET基本介绍以及功能介绍
- 图像处理库Aspose.Imaging 17.12发布 | 附下载
- redis一些有趣也很有用的功能
- 有趣的 Google 隐藏功能
- A Better Finder Rename 10 Mac都含有哪些有趣的功能呢?
- MessageDisplayKit 一个类似微信App的IM应用,拥有发送文字、图片、语音、视频、地理位置消息,管理本地通信录、分享朋友圈、漂流交友、摇一摇和更多有趣的功能。
- ORACLE 提供了一个有趣的功能 connect by 子句
- Kotlin For Android简介——有趣实用的功能
- 用python实现一段代码,它的功能是将自己打印,很有趣的一个面试题,保存下来
- Aspose.Pdf V17.4.0发布,改进功能新增多个API | 附下载
- 电子表格控件Aspose.Cells V17.4.0发布 | 新增重要功能