←选择平台

克隆()方法

总结
创建一个精确的当前页面的副本RasterImage
语法
c#
VB
objective - c
c++
Java
公共RasterImage克隆()
公共过载函数克隆()作为RasterImage
(可空LTRasterImage *)克隆:(NSError * *)错误
公共RasterImage克隆()
公共:RasterImage ^克隆();

返回值

RasterImage这个方法创建。

讲话

您还可以使用RasterImage现有的构造函数创建一个精确副本RasterImage

这种方法只有当前活动副本页面并没有复制元数据信息。创建一个拷贝RasterImage对象使用CloneAll方法。

克隆一个图像与支持事件进展,请参考CloneCommand

例子

这个例子中加载一个多页图像和克隆在3种不同的方法。

c#
VB
使用Leadtools;使用Leadtools.Codecs;使用Leadtools.ImageProcessing;使用Leadtools.ImageProcessing.Core;使用Leadtools.ImageProcessing.Color;使用Leadtools.Dicom;使用Leadtools.Drawing;使用Leadtools.Controls;使用Leadtools.Svg;公共无效CloneExample (){RasterCodecs编解码器=RasterCodecs ();字符串srcFileName = Path.Combine (LEAD_VARS.ImagesDir,“eye.gif”);/ /加载多页图像RasterImage srcImage = codecs.Load (srcFileName);Console.WriteLine (在源图像”页面:{0}”,srcImage.PageCount);/ /使用克隆方法克隆这张照片/ /注意,这种方法只克隆当前活动页面RasterImage destImage1 = srcImage.Clone ();Console.WriteLine (在图像创建克隆”页面:{0}”,destImage1.PageCount);Assert.IsTrue (destImage1。PageCount = = 1);/ /使用克隆矩形方法克隆这张照片/ /注意,这种方法也克隆只有当前活动页面LeadRect rc =LeadRect (0, 0, srcImage。宽/ 2,srcImage。高度/ 2);Console.WriteLine (“克隆一个矩形= {0}"rc.ToString ());RasterImage destImage2 = srcImage.Clone (rc);Console.WriteLine (“页面图片创建克隆(LeadRect): {0}”,destImage2.PageCount);Console.WriteLine (“图像创建克隆(LeadRect)大小= {0}{1}”,destImage2。宽度,destImage2.Height);Assert.IsTrue (destImage2。PageCount = = 1);Assert.IsTrue (destImage2。宽度= = srcImage。宽/ 2);Assert.IsTrue (destImage2。= = srcImage高度。高度/ 2);/ /使用CloneAll方法,这将创建一个副本/ /所有的页面RasterImage destImage3 = srcImage.CloneAll ();Console.WriteLine (“页面图片创建CloneAll: {0}”,destImage3.PageCount);Assert.IsTrue (destImage3。PageCount = = srcImage.PageCount);/ /使用CloneCommand,这允许您有进步/ /酒吧以及控制内存旗帜,在这里/ /我们将创建一个目的地形象使用磁盘内存。CloneCommand cloneCmd =CloneCommand ();cloneCmd。进步+ =EventHandler < RasterCommandProgressEventArgs > (cloneCmd_Progress);cloneCmd。CreateFlags = RasterMemoryFlags.Disk;cloneCmd.Run (srcImage);cloneCmd。进步- =EventHandler < RasterCommandProgressEventArgs > (cloneCmd_Progress);RasterImage destImage4 = cloneCmd.DestinationImage;Console.WriteLine (“页面图片创建CloneCommand: {0}”,destImage4.PageCount);Console.WriteLine (“磁盘内存模型的图像创建CloneCommand: {0}”,destImage4.IsDiskMemory);Assert.IsTrue (destImage4。PageCount = = 1);Assert.IsTrue (destImage4.IsDiskMemory);/ /清理destImage4.Dispose ();destImage3.Dispose ();destImage2.Dispose ();destImage1.Dispose ();srcImage.Dispose ();codecs.Dispose ();}无效cloneCmd_Progress (对象发送方,RasterCommandProgressEventArgs e){如果(e。% = = 0)Console.WriteLine (“克隆进展开始”);如果(e。% = = 100)Console.WriteLine (“克隆进展结束”);}静态LEAD_VARS{公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”;}
进口Leadtools进口Leadtools.Codecs进口Leadtools.ImageProcessing进口Leadtools.ImageProcessing.Core进口Leadtools.ImageProcessing.Color进口Leadtools.Controls进口Leadtools.Dicom进口Leadtools.Drawing进口Leadtools.Svg公共CloneExample ()昏暗的编解码器作为RasterCodecs =RasterCodecs ()昏暗的srcFileName作为字符串= Path.Combine (LEAD_VARS.ImagesDir“eye.gif”)“加载多页图像昏暗的srcImage作为RasterImage = codecs.Load (srcFileName)Console.WriteLine (在源图像”页面:{0}”srcImage.PageCount)使用克隆的方法克隆这个形象的注意,这种方法只克隆当前活动页面昏暗的destImage1作为RasterImage = srcImage.Clone ()Console.WriteLine (在图像创建克隆”页面:{0}”destImage1.PageCount)Debug.Assert (destImage1。PageCount = 1)使用克隆矩形方法克隆这个形象克隆的注意,这种方法也只有当前活动页面昏暗的钢筋混凝土作为LeadRect =LeadRect (0, 0, srcImage。宽度\ 2,srcImage。身高\ 2)Console.WriteLine (“克隆一个矩形= {0}"rc.ToString ())昏暗的destImage2作为RasterImage = srcImage.Clone (rc)Console.WriteLine (“页面图片创建克隆(LeadRect): {0}”destImage2.PageCount)Console.WriteLine (“图像创建克隆(LeadRect)大小= {0}{1}”,destImage2。宽度,destImage2.Height)Debug.Assert (destImage2。PageCount = 1)Debug.Assert (destImage2。宽度= srcImage。宽度\ 2)Debug.Assert (destImage2。身高= srcImage。身高\ 2)使用CloneAll方法,这将创建一个副本“所有的页面昏暗的destImage3作为RasterImage = srcImage.CloneAll ()Console.WriteLine (“页面图片创建CloneAll: {0}”destImage3.PageCount)Debug.Assert (destImage3。PageCount = srcImage.PageCount)“使用CloneCommand,这允许您有进步“酒吧以及控制内存的旗帜,在这里我们将使用磁盘创建一个目的地形象记忆。昏暗的cloneCmd作为CloneCommand =CloneCommand ()AddHandlercloneCmd.Progress,AddressOfcloneCmd_ProgresscloneCmd。CreateFlags = RasterMemoryFlags.DiskcloneCmd.Run (srcImage)RemoveHandlercloneCmd.Progress,AddressOfcloneCmd_Progress昏暗的destImage4作为RasterImage = cloneCmd.DestinationImageConsole.WriteLine (“页面图片创建CloneCommand: {0}”destImage4.PageCount)Console.WriteLine (“磁盘内存模型的图像创建CloneCommand: {0}”destImage4.IsDiskMemory)Debug.Assert (destImage4。PageCount = 1)Debug.Assert (destImage4.IsDiskMemory)的清理destImage4.Dispose ()destImage3.Dispose ()destImage2.Dispose ()destImage1.Dispose ()srcImage.Dispose ()codecs.Dispose ()结束私人cloneCmd_Progress (按值传递发送方作为对象,按值传递e作为RasterCommandProgressEventArgs)如果e。% = 0然后Console.WriteLine (“克隆进展开始”)结束如果如果e。% = 100然后Console.WriteLine (“克隆进展结束”)结束如果结束公共NotInheritableLEAD_VARS公共常量ImagesDir作为字符串=“C: \ LEADTOOLS21 \ Resources \图片”结束
需求

目标平台

Leadtools组装
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。