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点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。