轉帖|使用教程|編輯:龔雪|2014-09-17 09:24:18.000|閱讀 809 次
概述:本文主要介紹LeaTools的圖像幾何變換。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
類 |
調整已有圖像的大小,并將調整后的圖像設為目標圖像,原始圖像不變。 |
類 |
將圖像調整到一個新的寬和高。 |
以下為使用 類的代碼片段(注: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: // 創建目標圖像 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: // 將原始圖像調整大小 21: ResizeCommand command = new ResizeCommand(); 22: command.DestinationImage = destImage; 23: command.Flags = RasterSizeFlags.Bicubic; 24: command.Run(srcImage); 25: 26: // 將調整后的圖像保存至磁盤 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();
類
|
裁剪當前圖像,刪除邊緣的空白區域 |
類
|
若使用了類,可以使用此類獲取裁剪時使用的矩形。 |
類
|
使用定義好的矩形裁剪圖像。 |
以下為使用類的代碼片段(注: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: // 準備command 7: AutoCropCommand command = new AutoCropCommand(); 8: 9: //在誤差20內自動裁剪圖像 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: // 準備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();
類名 |
說明 |
類 |
以軸心點為中心,沿著彎曲的平面扭曲當前圖像。這個中心點必須定義在圖像內或區域內。若圖像有一個區域,變換只應用于此區域。 這個類在及以上工具包中可用。 |
類 |
旋轉和翻轉圖像數據,以獲取想要的查看視角。 |
類 |
繞著一個圓柱扭曲圖像。此命令只在及以上工具包中可用。 |
類 |
旋轉特定的圖像并拉直。 |
類 |
從頂端到底端或從左到右翻轉RasterImage |
類 |
使用振幅數組通過所畫的波形剪切圖像。此命令僅在及以上工具包中可用。 |
類 |
通過振幅數組和旋轉角度中指定的波形,扭曲圖像。此命令僅在及以上工具包中可用。 |
類 |
將圖像包裹在一個以曲線塑造的3D平面上。此命令只在及以上工具包中可用。 原圖: ![]() 應用此效果后: ![]() |
類 |
將圖像按著曲線塑造的3D平面的半徑包裹。此命令只在及以上工具包中可用。 原始圖像: ![]() 應用此效果后: ![]() |
類 |
使圖片看起來像出自一個印象派畫家之手。此命令只在及以上工具包中可用。 |
類 |
將圖像沿著Z軸放置在平行平面,并朝著中心點彎曲。此命令只在及以上工具包中可用。 原始圖像: ![]() 使用后的效果: ![]() |
類 |
將圖像沿著Z軸放置在平行平面。此命令只在及以上工具包中可用。 原始圖像: ![]() 使用后的效果: ![]() |
類 |
將圖像從矩形轉換為極坐標,反之亦然。此命令只在及以上工具包中可用。 |
類 |
通過將圖像向中心擠壓或從中心向外擴展來彎曲圖像。此命令只在及以上工具包中可用。 |
類 |
通過繞著中心點旋轉像素模糊圖像。此命令只在及以上工具包中可用。 |
類 |
使用從中心輻射的波形扭曲圖像。此命令只在及以上工具包中可用。 |
類 |
在同心圓內扭曲圖像。此命令只在及以上工具包中可用。 |
類 |
以指定的度數旋轉圖像。此命令只在及以上工具包中可用。 |
方法 |
通過改變旋轉。 |
類 |
以平行四邊形的方式移動圖像的角。 |
類 |
繞著一個3D球形,扭曲圖像。此命令只在及以上工具包中可用。 |
類 |
根據旋轉角度旋轉圖像,以產生漩渦的模式。此命令只在及以上工具包中可用。 |
方法 |
可完成特定格式的無損轉換。 |
類 |
沿著Z軸在隧道中放置圖像。此命令只在及以上工具包中可用。 原始圖像: ![]() 使用后的效果: ![]() |
類 |
使用特定角度特定波形的兩個垂直波扭曲圖像。此命令只在及以上工具包中可用。 |
類 |
創建細線,以特定的角度引導它,作用于被影響的圖像上。此命令只在及以上工具包中可用。 |
類 |
從特定中心點開始沿著半徑線模糊圖像。此命令只在及以上工具包中可用。 |
類 |
使用從特定中心放大的波形扭曲圖像。此命令只在及以上工具包中可用。 |
方法 |
使用方法將緩沖區調整為指定的新大小。
|
方法 |
為方法建立信息。
|
方法 |
清除方法中所有的數據變量和緩沖區。
|
轉載來自于//blog.gcpowertools.com.cn/post/2014/09/12/geometric-transformations-by-leadtools.aspx
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網