翻譯|使用教程|編輯:李顯亮|2019-12-06 13:40:11.130|閱讀 379 次
概述:在Aspose.Imaging for .NET v19.11中,支持調(diào)整SVG圖像大小和監(jiān)視文檔轉(zhuǎn)換進(jìn)度的新功能。接下來(lái)我們用示例為大家演示調(diào)整SVG圖像大小和監(jiān)視文檔轉(zhuǎn)換進(jìn)度的用法。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Aspose.Imaging for .NET一種高級(jí)圖像處理控件,允許開(kāi)發(fā)人員創(chuàng)建,編輯,繪制或轉(zhuǎn)換圖像。圖像導(dǎo)出和轉(zhuǎn)換是API核心功能之一,它允許在不安裝Photoshop應(yīng)用程序或任何其他圖像編輯器的情況下保存為AdobePhotoshop?本機(jī)格式。
在Aspose.Imaging for .NET v19.11中,支持調(diào)整SVG圖像大小和監(jiān)視文檔轉(zhuǎn)換進(jìn)度的新功能。接下來(lái)我們用示例為大家演示調(diào)整SVG圖像大小和監(jiān)視文檔轉(zhuǎn)換進(jìn)度的用法。
>>歡迎下載Aspose.Imaging for .NET v19.11體驗(yàn)
*雙旦狂歡,限時(shí)購(gòu)買Aspose.Total,直接立減10000元,還有驚喜紅包享不停!了解詳情點(diǎn)擊哦~~
SVG是可伸縮矢量圖形文件格式,并利用基于XML的內(nèi)容來(lái)描述圖形。由于利用內(nèi)容來(lái)描繪圖形,因此可以將SVG文件格式縮放為各種大小,而不會(huì)影響質(zhì)量。換句話說(shuō),SVG格式與分辨率無(wú)關(guān)。為此,Aspose中增加了一種新的方法調(diào)整大小。想象一個(gè)可以用來(lái)根據(jù)需要更改SVG文件大小的方法。以下示例演示了此功能的用法:
void ResizeSvg() { string inputFileName = "Logotype.svg"; using (Image image = Image.Load(inputFileName)) { image.Resize(image.Width * 10,image.Height * 15); image.Save("Logotype_10_15.png", new PngOptions() { VectorRasterizationOptions = new SvgRasterizationOptions() }); } }
類似的基于Java的實(shí)現(xiàn)如下:
String inputFileName = "Logotype.svg"; try (Image image = Image.load(inputFileName)) { image.resize(image.getWidth() * 10,image.getHeight() * 15); image.save("Logotype_10_15.png", new PngOptions() {{ setVectorRasterizationOptions(new SvgRasterizationOptions()); }}); }
有時(shí),使用大型圖像文件,并且在將此類文件渲染為其他格式時(shí),根據(jù)文件大小需要很長(zhǎng)時(shí)間才能完成渲染過(guò)程。在這種情況下,確定轉(zhuǎn)換進(jìn)度非常方便,因?yàn)槿绻蛩阆蜃罱K用戶顯示有關(guān)轉(zhuǎn)換過(guò)程的某些狀態(tài),則很有用。為此,已在Aspose.Imaging中添加了新屬性ProgressCallback。以下示例演示了此功能的用法:
using (var image = Image.Load(fileName, new LoadOptions { ProgressEventHandler = ProgressCallback })) { image.Save(fileName+".psd", new PsdOptions() { ProgressEventHandler = ExportProgressCallback }); } internal void ProgressCallback(ProgressEventHandlerInfo info) { Console.WriteLine("{0} : {1}/{2}", info.EventType, info.Value, info.MaxValue); } internal void ExportProgressCallback(ProgressEventHandlerInfo info) { Console.WriteLine("Export event {0} : {1}/{2}", info.EventType, info.Value, info.MaxValue); } // Example of use of operation progress event handler using (var image = Image.Load(fileName, new LoadOptions { ProgressEventHandler = ProgressCallback })) { image.Save(); } internal void ProgressCallback(ProgressEventHandlerInfo info) { Console.WriteLine("{0} : {1}/{2}", info.EventType, info.Value, info.MaxValue); }
類似的基于Java的實(shí)現(xiàn)如下:
String fileName = "some file to load"; LoadOptions loadOptions = new LoadOptions(); loadOptions.setProgressEventHandler(new ProgressEventHandler() { @Override public void invoke(ProgressEventHandlerInfo info) { System.out.format("Load event %s : %d/%d\n", EventType.toString(EventType.class, info.getEventType()) , info.getValue(), info.getMaxValue()); } }); try (Image image = Image.load(fileName, loadOptions)) { PsdOptions psdOptions = new PsdOptions(); psdOptions.setProgressEventHandler(new ProgressEventHandler() { @Override public void invoke(ProgressEventHandlerInfo info) { System.out.format("Export event %s : %d/%d\n", EventType.toString(EventType.class, info.getEventType()) , info.getValue(), info.getMaxValue()); } }); image.save(fileName + ".psd", psdOptions); }
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn