轉帖|使用教程|編輯:龔雪|2014-09-17 09:24:18.000|閱讀 824 次
概述:本文主要介紹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@ke049m.cn
文章轉載自:慧都控件網