RasterImageTypeConverter是一个可以用来转换的类吗RasterImage来自其他数据类型的对象。
公共类RasterImageTypeConverter: TypeConverter
公共类RasterImageTypeConverter继承了System.ComponentModel.TypeConverter
公共ref类RasterImageTypeConverter:公共System.ComponentModel.TypeConverter
请注意:本课题是RasterCodecs使用.NET提供异步支持System.ComponentMode.AsyncOperation模型。为。net异步/等待支持此类型/成员不使用。相反,请参考RasterCodecs异步操作.
该类派生于标准的.NET TypeConverter类,提供转换功能RasterImage来自其他数据类型的对象。
支持以下数据类型:
的CanConvertFrom方法将返回真正的类中传递的任何受支持的对象类型sourceType参数。然而,这并不意味着转换操作将成功,这取决于数据是否包含LEADTOOLS可以加载的有效图像。
的ConvertFrom方法将尝试将传入的对象转换为价值参数设置为有效的RasterImage对象。
对于Uri和String源对象,LEADTOOLS支持作为标准HTML查询字符串传递的可选额外参数,以微调加载RasterImage对象。参数说明如下表所示:
| 参数 | 描述 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LeadBitsPerPixel | 产生的图像像素深度。这应该是一个整数的字符串表示形式。有效值为:
|
||||||||||||||||||
| LeadOrder | 颜色顺序为16位、24位、32位、48位和64位图像。如果生成的图像小于每像素16位,这将不起作用,因为托盘化的图像没有顺序。必须是以下字符串值之一:
|
||||||||||||||||||
| LeadFirstPage | 一个字符串,它包含要加载的第一页基于1的索引的整数表示形式。 |
||||||||||||||||||
| LeadLastPage | 一个字符串,它包含要加载的最后一页基于1的索引的整数表示形式。如果指定,必须大于或等于“LeadFirstPage”。 |
||||||||||||||||||
| LeadUseWriteableBitmap | 不再支持此值。 |
||||||||||||||||||
| LeadUseNativeLoad | 不再支持此值。 |
| 价值 | 意义 |
|---|---|
| 0 | 保持原始文件的像素深度(不进行转换)。 |
| 1 ~ 8 | 结果图像中每个像素的指定位。 |
| 12 | 结果图像中每像素12位。 |
| 16 | 结果图像中每像素16位。 |
| 24 | 结果图像中的每像素为24位。 |
| 32 | 结果图像中的每像素32位。 |
| 48 | 结果图像中的每像素48位。 |
| 64 | 结果图像中的每像素64位。 |
| 价值 | 意义 |
|---|---|
| Rgb | 记忆中的红、绿、蓝颜色顺序 |
| Bgr | 记忆中的蓝、绿、红颜色顺序 |
| 灰色的 | 12或16位灰度图像。仅支持12位和16位灰度图像文档/医学影像版本。 |
| RgbOrGray | 将图像加载为红色、绿色、蓝色或12位或16位灰度图像。格式中支持12位和16位灰度图像文档/医学影像版本 |
| BgrOrGray | 将图像加载为蓝色、绿色、红色或12位或16位灰度图像。格式中支持12位和16位灰度图像文档/医学影像版本 |
| 罗姆 | 罗姆秩序。ROMM仅支持24位和48位映像 |
| BgrOrGrayOrRomm | 将图像加载为蓝色、绿色、红色或作为12位或16位灰度图像或作为rom。格式中支持12位和16位灰度图像文档/医学影像版本只。ROMM仅支持24位和48位彩色图像。 |
所有这些参数都是可选的,应该作为标准HTML查询字符串传递。顺序并不重要。下面是一些有效字符串的例子:
//加载HTTP URL托管的TIF文件中的所有页面http:/ / tempuri.org/MyImage.tif//只加载HTTP URL托管的多页TIF文件的第一页http:/ / tempuri.org/MyImage.tif ? LeadFirstPage = 1 &leadlastpage = 1//加载托管在HTTP URL上的多页TIF文件的第二和第三页,以24位/像素的RGB颜色顺序http:/ / tempuri.org/MyImage.tif ? LeadBitsPerPixel = 24 &leadorder = Rgb&LeadFirstPage &leadlastpage = 3 = 2//加载FTP站点上托管的TIF文件中的所有页面ftp:/ / tempuri.org/MyImage.tif//将TIF文件中的所有页面加载到磁盘文件中C: \ Dir \ MyImage.tif文件:/ / C: / Dir / MyImage.tif文件:/ / myserver / MyImage.tif//将多页TIF文件的第二页和第三页以24位/像素的RGB颜色顺序加载到磁盘文件中C: \ Dir \模板\ MyImage.tif吗?LeadBitsPerPixel=24&LeadOrder=Rgb&LeadFirstPage=2&LeadLastPage=3
的RasterImageTypeConverter也用于从XAML加载资源图像作为RasterImage.以下是一些例子:
//将TIF文件集中的所有页面加载为资源“MyImage.tif”//只加载多页TIF文件集的第一页作为资源“MyImage.tif ?LeadFirstPage=1&LeadLastPage=1"//加载多页TIF文件集的第二页和第三页作为资源,以24位/像素的RGB颜色顺序“MyImage.tif ?LeadBitsPerPixel = 24 &leadorder = Rgb&LeadFirstPage = 2 &leadlastpage = 3”//加载多页TIF文件集的第二页和第三页作为资源,以24位/像素的RGB颜色顺序“MyImage.tif ?LeadBitsPerPixel = 24 &leadorder = Rgb&LeadFirstPage = 2 &leadlastpage = 3”//不再支持。“MyImage.tif ?LeadUseWriteableBitmap = True”//不再支持。“MyImage.tif ?LeadUseWriteableBitmap = True&LeadUseNativeLoad = True "
String和Byte数据类型数组不支持查询字符串。
WPF控件使用RasterImageTypeConverter加载RasterImageXAML文件。
返回的图像ConvertFrom方法将有其RasterImage。IsLoading属性设置为true,因为此方法将异步加载图像。控件可在图像完成加载时获得通知RasterImageTypeConverter用你自己的RasterCodecs实例并订阅RasterCodecs。LoadAsyncCompleted事件。ConvertFrom如下面的例子所示。
这个例子将使用RasterImageTypeConverter从URL加载图像。
使用Leadtools;使用Leadtools.Codecs;公共无效RasterImageTypeConverterExample (){字符串srcFileName = Path.Combine(LEAD_VARS.ImagesDir,“Ocr1.tif”);//构造源URL以使用源文件并加载图像Uri =新Uri (srcFileName);RasterCodecs codecs =新RasterCodecs ();//创建一个RasterImageTypeConverter类的新实例RasterImageTypeConverter =新RasterImageTypeConverter(编码器);//我们应该能够从一个URL转换Debug.Assert (rasterImageConverter.CanConvertFrom (uri.GetType ()));//转换图像// RasterImageTypeConverter的返回值。ConvertFrom可能就是一个图像//仍在加载中。所以,我们必须订阅RasterCodecs。LoadAsyncCompleteted// event获取完成的图像编解码器。LoadAsyncCompleted + =新EventHandler < CodecsLoadAsyncCompletedEventArgs > (rasterImageTypeConverterExample_LoadAsyncCompleted);对象rasterImageObject = rasterImageConverter.ConvertFrom(uri);//注意返回的rasterImageObject是一个IsLoading设置为true的RasterImage//当loadasynccompleted完成时,IsLoading将为false(因此,对象将可用)/ /火灾。}私人无效rasterImageTypeConverterExample_LoadAsyncCompleted (对象发件人,CodecsLoadAsyncCompletedEventArgs{//检查用户是否取消或是否有错误如果(e.Cancelled){控制台。WriteLine (“用户取消”);}其他的如果(e.Error ! =零){控制台。WriteLine (错误:“+ e.Error.Message);}其他的{//一切正常,获取图像RasterImage image = e.Image;控制台。WriteLine (Image at {0} loaded OK, size: {1} by {2}, e.Uri,图像。宽度,image.Height);image.Dispose ();}//取消订阅事件并释放RasterCodecs对象RasterCodecs codecs =发送者作为RasterCodecs;编解码器。LoadAsyncCompleted - =新EventHandler < CodecsLoadAsyncCompletedEventArgs > (rasterImageTypeConverterExample_LoadAsyncCompleted);codecs.Dispose ();}静态类LEAD_VARS{公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”;}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。
