原創(chuàng)|產(chǎn)品更新|編輯:李顯亮|2019-09-11 13:43:54.620|閱讀 262 次
概述:近期發(fā)布了Aspose.Imaging for .NET v19.9,優(yōu)化基本柵格圖像濾波操作,優(yōu)化RasterCachedImage類中抖動(dòng)操作,優(yōu)化Bmp格式的速度或內(nèi)存等等,我們一起用示例為大家詳細(xì)解讀。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Aspose.Imaging for .NET一種高級(jí)圖像處理控件,允許開發(fā)人員創(chuàng)建,編輯,繪制或轉(zhuǎn)換圖像。圖像導(dǎo)出和轉(zhuǎn)換是API核心功能之一,它允許在不安裝Photoshop應(yīng)用程序或任何其他圖像編輯器的情況下保存為AdobePhotoshop?本機(jī)格式。
近期發(fā)布了Aspose.Imaging for .NET v19.9,優(yōu)化基本柵格圖像濾波操作,優(yōu)化RasterCachedImage類中抖動(dòng)操作,優(yōu)化Bmp格式的速度或內(nèi)存等等,下面我們一起用示例為大家詳細(xì)解讀。>>歡迎下載Aspose.Imaging for .NET v19.9體驗(yàn)
//為目標(biāo)加載的圖像設(shè)置50兆字節(jié)的內(nèi)存限制 using (var image = Image.Load(imageFilePath, new LoadOptions() { BufferSizeHint = 50 })) { //執(zhí)行抖動(dòng)操作 image.Dither(DitheringMethod.FloydSteinbergDithering, 1); }
//為目標(biāo)加載的圖像設(shè)置50兆字節(jié)的內(nèi)存限制 using (var image = Image.Load(imageFilePath, new LoadOptions() { BufferSizeHint = 50 })) { // 執(zhí)行調(diào)整大小操作 image.Resize(300, 200, ResizeType.LanczosResample); }
using Aspose.Imaging.ImageFilters.FilterOptions; //限制“BigRectangularFilter”過濾的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { FilterOptionsBase filterOptions = new BigRectangularFilterOptions(); rasterImage.Filter(rasterImage.Bounds, filterOptions); rasterImage.Save("BigRectangularFilter.png") } //限制“SmallRectangularFilter”過濾的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { FilterOptionsBase filterOptions = new SmallRectangularFilterOptions(); rasterImage.Filter(rasterImage.Bounds, filterOptions); rasterImage.Save("SmallRectangularFilter.png") } //限制“MedianFilter”過濾的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { FilterOptionsBase filterOptions = new MedianFilterOptions(6 /*size*/); rasterImage.Filter(rasterImage.Bounds, filterOptions); rasterImage.Save("MedianFilter.png") } // 限制“GaussWienerFilter”過濾的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { FilterOptionsBase filterOptions = new GaussWienerFilterOptions(5 /*radius*/, 1.5 /*smooth*/) { Brightness = 1, Snr = 0.003 }; rasterImage.Filter(rasterImage.Bounds, filterOptions); rasterImage.Save("GaussWienerFilter.png") } // 限制“MotionWienerFilter”過濾的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { FilterOptionsBase filterOptions = new MotionWienerFilterOptions(10 /*length*/, 1 /*smooth*/, 0 /*angle*/) { Brightness = 1, Snr = 0.007 }; rasterImage.Filter(rasterImage.Bounds, filterOptions); rasterImage.Save("MotionWienerFilter.png") } // 限制“GaussianBlurFilter”過濾的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { FilterOptionsBase filterOptions = new GaussianBlurFilterOptions(5 /*radius*/, 4 /*sigma*/); rasterImage.Filter(rasterImage.Bounds, filterOptions); rasterImage.Save("GaussianBlurFilter.png") } // 限制“SharpenFilter”過濾的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { FilterOptionsBase filterOptions = new SharpenFilterOptions(); rasterImage.Filter(rasterImage.Bounds, filterOptions); rasterImage.Save("SharpenFilter.png") } //限制“BilateralSmoothingFilter”過濾的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { FilterOptionsBase filterOptions = new BilateralSmoothingFilterOptions(3 /*size*/); rasterImage.Filter(rasterImage.Bounds, filterOptions); rasterImage.Save("BilateralSmoothingFilter.png") } // 限制“BinarizeFixed”過濾操作的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { rasterImage.BinarizeFixed(180 /*threshold*/); rasterImage.Save("BinarizeFixed.png") } //限制“BinarizeOtsu”過濾操作的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { rasterImage.BinarizeOtsu(); rasterImage.Save("BinarizeOtsu.png") } //限制“BinarizeBradley”過濾操作的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { rasterImage.BinarizeBradley(-2 /*brightness difference*/); rasterImage.Save("BinarizeBradley.png") } // 限制“灰度”過濾操作的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { rasterImage.Grayscale(); rasterImage.Save("Grayscale.png") } // 限制“AdjustBrightness”過濾操作的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { rasterImage.AdjustBrightness(70 /*brightness*/); rasterImage.Save("AdjustBrightness.png") } // 限制“AdjustContrast”過濾操作的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { rasterImage.AdjustContrast(50 /*contrast*/); rasterImage.Save("AdjustContrast.png") } //限制“AdjustGamma”過濾操作的內(nèi)存使用量(50 Mb) using (RasterImage rasterImage = (RasterImage)Image.Load("inputImage.png", new LoadOptions { BufferSizeHint = 50 })) { rasterImage.AdjustGamma(3 /*gamma*/); rasterImage.Save("AdjustGamma.png") }
*悅滿中秋 · 購享好禮,現(xiàn)在購買Aspose系列產(chǎn)品即可領(lǐng)取精美禮品喲,更多活動(dòng)詳情可了解哦~
ASPOSE技術(shù)交流QQ群(642018183)已開通,各類資源及時(shí)分享,歡迎交流討論!
掃描關(guān)注“慧聚IT”微信公眾號(hào),及時(shí)獲取更多產(chǎn)品最新動(dòng)態(tài)及最新資訊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn