轉(zhuǎn)帖|使用教程|編輯:龔雪|2014-09-17 09:24:18.000|閱讀 809 次
概述:本文主要介紹LeaTools的圖像幾何變換。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
類 |
調(diào)整已有圖像的大小,并將調(diào)整后的圖像設(shè)為目標(biāo)圖像,原始圖像不變。 |
類 |
將圖像調(diào)整到一個新的寬和高。 |
以下為使用 類的代碼片段(注:Resize.rar):
1: RasterCodecs codecs = new RasterCodecs(); 2: string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); 3: string destFileName = Path.Combine(ImagesPath.Path, "ResizeCommand.bmp"); 4: 5: // 從磁盤加載原始圖像 6: RasterImage srcImage = codecs.Load(srcFileName); 7: 8: // 創(chuàng)建目標(biāo)圖像 9: RasterImage destImage = new RasterImage( 10: RasterMemoryFlags.Conventional, 11: 100, 12: 100, 13: srcImage.BitsPerPixel, 14: srcImage.Order, 15: srcImage.ViewPerspective, 16: srcImage.GetPalette(), 17: IntPtr.Zero, 18: 0); 19: 20: // 將原始圖像調(diào)整大小 21: ResizeCommand command = new ResizeCommand(); 22: command.DestinationImage = destImage; 23: command.Flags = RasterSizeFlags.Bicubic; 24: command.Run(srcImage); 25: 26: // 將調(diào)整后的圖像保存至磁盤 27: codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 24); 28: 29: // 清理 30: srcImage.Dispose(); 31: destImage.Dispose(); 32: codecs.Dispose(); 以下為使用SizeCommand類的代碼片段(注:Resize.rar): 1: RasterCodecs codecs = new RasterCodecs(); 2: string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); 3: string destFileName = Path.Combine(ImagesPath.Path,"SizeCommand.bmp"); 4: 5: // 從磁盤加載原始圖像 6: RasterImage image = codecs.Load(srcFileName); 7: SizeCommand command = new SizeCommand(); 8: command.Width = 128; 9: command.Height = 128; 10: command.Flags = RasterSizeFlags.Resample; 11: command.Run(image); 12: 13: // 將圖像保存至磁盤 14: codecs.Save(image, destFileName, RasterImageFormat.Bmp, 8); 15: 16: // 清理 17: image.Dispose(); 18: codecs.Dispose();
類
|
裁剪當(dāng)前圖像,刪除邊緣的空白區(qū)域 |
類
|
若使用了類,可以使用此類獲取裁剪時使用的矩形。 |
類
|
使用定義好的矩形裁剪圖像。 |
以下為使用類的代碼片段(注:CropCommand.rar):
1: // 加載圖像 2: RasterCodecs codecs = new RasterCodecs(); 3: codecs.ThrowExceptionsOnInvalidImages = true; 4: RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")); 5: 6: // 準(zhǔn)備command 7: AutoCropCommand command = new AutoCropCommand(); 8: 9: //在誤差20內(nèi)自動裁剪圖像 10: command.Threshold = 20; 11: 12: command.Run(image); 以下為使用AutoCropRectangleCommand類的代碼片段(注:CropCommand.rar): 1: //加載圖像 2: RasterCodecs codecs = new RasterCodecs(); 3: codecs.ThrowExceptionsOnInvalidImages = true; 4: 5: RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")); 6: 7: // 準(zhǔn)備command 8: AutoCropRectangleCommand command = new AutoCropRectangleCommand(); 9: command.Threshold = 0; 10: command.Run(image); 11: MessageBox.Show("左 = " + command.Rectangle.Left.ToString() + "\n" + 12: "上 = " + command.Rectangle.Top.ToString() + "\n" + 13: "右 = " + command.Rectangle.Right.ToString() + "\n" + 14: "下 = " + command.Rectangle.Bottom.ToString()); 以下為使用CropCommand類的代碼片段(注:CropCommand.rar): 1: RasterCodecs codecs = new RasterCodecs(); 2: string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); 3: string destFileName = Path.Combine(ImagesPath.Path, "CropCommand.bmp"); 4: 5: //從磁盤中加載原始圖像 6: RasterImage image = codecs.Load(srcFileName); 7: 8: // 從圖像的各邊裁剪掉100像素 9: CropCommand command = new CropCommand(); 10: command.Rectangle = new LeadRect( 11: 100, 12: 100, 13: image.Width - 100, 14: image.Height - 100); 15: command.Run(image); 16: 17: // 將其保存至磁盤 18: codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24); 19: 20: // 清理 21: image.Dispose(); 22: codecs.Dispose();
類名 |
說明 |
類 |
以軸心點為中心,沿著彎曲的平面扭曲當(dāng)前圖像。這個中心點必須定義在圖像內(nèi)或區(qū)域內(nèi)。若圖像有一個區(qū)域,變換只應(yīng)用于此區(qū)域。 這個類在及以上工具包中可用。 |
類 |
旋轉(zhuǎn)和翻轉(zhuǎn)圖像數(shù)據(jù),以獲取想要的查看視角。 |
類 |
繞著一個圓柱扭曲圖像。此命令只在及以上工具包中可用。 |
類 |
旋轉(zhuǎn)特定的圖像并拉直。 |
類 |
從頂端到底端或從左到右翻轉(zhuǎn)RasterImage |
類 |
使用振幅數(shù)組通過所畫的波形剪切圖像。此命令僅在及以上工具包中可用。 |
類 |
通過振幅數(shù)組和旋轉(zhuǎn)角度中指定的波形,扭曲圖像。此命令僅在及以上工具包中可用。 |
類 |
將圖像包裹在一個以曲線塑造的3D平面上。此命令只在及以上工具包中可用。 原圖: ![]() 應(yīng)用此效果后: ![]() |
類 |
將圖像按著曲線塑造的3D平面的半徑包裹。此命令只在及以上工具包中可用。 原始圖像: ![]() 應(yīng)用此效果后: ![]() |
類 |
使圖片看起來像出自一個印象派畫家之手。此命令只在及以上工具包中可用。 |
類 |
將圖像沿著Z軸放置在平行平面,并朝著中心點彎曲。此命令只在及以上工具包中可用。 原始圖像: ![]() 使用后的效果: ![]() |
類 |
將圖像沿著Z軸放置在平行平面。此命令只在及以上工具包中可用。 原始圖像: ![]() 使用后的效果: ![]() |
類 |
將圖像從矩形轉(zhuǎn)換為極坐標(biāo),反之亦然。此命令只在及以上工具包中可用。 |
類 |
通過將圖像向中心擠壓或從中心向外擴展來彎曲圖像。此命令只在及以上工具包中可用。 |
類 |
通過繞著中心點旋轉(zhuǎn)像素模糊圖像。此命令只在及以上工具包中可用。 |
類 |
使用從中心輻射的波形扭曲圖像。此命令只在及以上工具包中可用。 |
類 |
在同心圓內(nèi)扭曲圖像。此命令只在及以上工具包中可用。 |
類 |
以指定的度數(shù)旋轉(zhuǎn)圖像。此命令只在及以上工具包中可用。 |
方法 |
通過改變旋轉(zhuǎn)。 |
類 |
以平行四邊形的方式移動圖像的角。 |
類 |
繞著一個3D球形,扭曲圖像。此命令只在及以上工具包中可用。 |
類 |
根據(jù)旋轉(zhuǎn)角度旋轉(zhuǎn)圖像,以產(chǎn)生漩渦的模式。此命令只在及以上工具包中可用。 |
方法 |
可完成特定格式的無損轉(zhuǎn)換。 |
類 |
沿著Z軸在隧道中放置圖像。此命令只在及以上工具包中可用。 原始圖像: ![]() 使用后的效果: ![]() |
類 |
使用特定角度特定波形的兩個垂直波扭曲圖像。此命令只在及以上工具包中可用。 |
類 |
創(chuàng)建細(xì)線,以特定的角度引導(dǎo)它,作用于被影響的圖像上。此命令只在及以上工具包中可用。 |
類 |
從特定中心點開始沿著半徑線模糊圖像。此命令只在及以上工具包中可用。 |
類 |
使用從特定中心放大的波形扭曲圖像。此命令只在及以上工具包中可用。 |
方法 |
使用方法將緩沖區(qū)調(diào)整為指定的新大小。
|
方法 |
為方法建立信息。
|
方法 |
清除方法中所有的數(shù)據(jù)變量和緩沖區(qū)。
|
轉(zhuǎn)載來自于//blog.gcpowertools.com.cn/post/2014/09/12/geometric-transformations-by-leadtools.aspx
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)