c#
VB
c++
公共boolUseDPI {得到;集;}
公共财产UseDPI作为布尔
正确使用DPI,错误保持正常行为。
使用DPI意味着程序将图像的分辨率X和Y时画的图像。将屏幕的分辨率X和Y。
使用Leadtools;
使用Leadtools.Dicom;
使用Leadtools.Medical3D;
使用Leadtools.Codecs;
使用Leadtools.MedicalViewer;
使用Leadtools.ImageProcessing;
使用Leadtools.ImageProcessing.Core;
使用Leadtools.ImageProcessing.Color;
使用Leadtools.Annotations.Engine;
使用Leadtools.Annotations.Designers;
类MedicalViewerUseDPIForm:形式
{
私人MedicalViewer _medicalViewer;
私人MedicalViewerSeriesManager _seriesManager;
无效MedicalViewerLocalizer_SizeChanged (对象发送方的EventArgs e)
{
_medicalViewer。大小=新大小(这.ClientRectangle.Right,这.ClientRectangle.Bottom);
}
公共MedicalViewerUseDPIForm (MedicalViewerSeriesManager输出)
{
DicomEngine.Startup ();
RasterCodecs _codecs =新RasterCodecs ();
这.SizeChanged + =新EventHandler (MedicalViewerLocalizer_SizeChanged);
/ /创建医疗查看器和调整大小和位置。
_medicalViewer =新MedicalViewer (1、2);
_medicalViewer。位置=新点(0,0);
_medicalViewer。大小=新大小(这.ClientRectangle.Right,这.ClientRectangle.Bottom);
_seriesManager =输出;
MedicalViewerMultiCell细胞=新MedicalViewerMultiCell (零,真正的,1,1);
int指数;
int数= output.Stacks [0] .Items.Count;
CodecsImageInfo codecsInformation;
MedicalViewerImageInformation [] imageInformation =新MedicalViewerImageInformation[数];
为(指数= 0;指数<计数;指数+ +)
{
codecsInformation = _codecs.GetInformation ((字符串)(output.Stacks [0] . items(指数). data),真正的);
imageInformation指数=新MedicalViewerImageInformation ();
imageInformation(指数)。ImageHeight = codecsInformation.Width;
imageInformation(指数)。ImageWidth = codecsInformation.Width;
imageInformation(指数)。XResolution = codecsInformation.XResolution;
imageInformation(指数)。YResolution = codecsInformation.YResolution;
}
细胞。FramesRequested + =新EventHandler < MedicalViewerRequestedFramesInformationEventArgs > (cell_FramesRequested);
FormClosing + =新FormClosingEventHandler (MedicalViewerLocalizer_FormClosing);
cell.EnableLowMemoryUsage (2数,imageInformation);
细胞。FitImageToCell =假;
/ /添加一些行动将被用于改变图像的属性内部的控制。
cell.AddAction (MedicalViewerActionType.WindowLevel);
cell.AddAction (MedicalViewerActionType.Alpha);
cell.AddAction (MedicalViewerActionType.Offset);
细胞。CellMouseClick + =新EventHandler < MedicalViewerCellMouseEventArgs > (cell_CellMouseClick);
/ /添加操作分配给一个鼠标按钮,即当用户单击并拖动鼠标按钮,相关的行动将被激活。
cell.SetAction (MedicalViewerActionType。WindowLevel MedicalViewerMouseButtons。离开,MedicalViewerActionFlags.Active);
cell.SetAction (MedicalViewerActionType。α,MedicalViewerMouseButtons。中间,MedicalViewerActionFlags.Active);
cell.SetAction (MedicalViewerActionType。抵消,MedicalViewerMouseButtons。对,MedicalViewerActionFlags.Active);
cell.ReferenceLine。启用了=真正的;
cell.ReferenceLine。颜色= Color.Yellow;
细胞。ShowCellBoundaries =真正的;
_medicalViewer.Cells.Add(细胞);
/ /调整细胞的一些属性和添加一些标签。
_medicalViewer.Cells [0]。MedicalViewerTagAlignment SetTag (2。TopLeft MedicalViewerTagType.UserData,“前女友ID 230-36-5448。”);
_medicalViewer.Cells [0]。MedicalViewerTagAlignment SetTag (4。TopLeft MedicalViewerTagType.Frame);
_medicalViewer.Cells [0]。MedicalViewerTagAlignment SetTag(6日。TopLeft MedicalViewerTagType.Scale);
_medicalViewer.Cells [0]。MedicalViewerTagAlignment SetTag (2。BottomLeft MedicalViewerTagType.WindowLevelData);
_medicalViewer.Cells [0]。MedicalViewerTagAlignment SetTag (1。BottomLeft MedicalViewerTagType.FieldOfView);
细胞。PixelSpacing = output.Stacks [0] .PixelSpacing;
为(指数= 0;指数<计数;指数+ +)
{
细胞。SetImagePosition(指数,output.Stacks [0] . items(指数)。ImagePosition(指数= =数- 1));
}
细胞。ImageOrientation = output.Stacks [0] . items [0] .ImageOrientationArray;
细胞。FrameOfReferenceUID = output.Stacks [0] . items [0] .FrameOfReferenceUID;
Controls.Add (_medicalViewer);
_medicalViewer。做ck = DockStyle.Fill;
DicomEngine.Shutdown ();
}
无效cell_CellMouseClick (对象发送方,MedicalViewerCellMouseEventArgs e)
{
/ /这是用来切换显示图像的图像使用DPI相对于屏幕的DPI, noramlly或显示它。
((MedicalViewerCell)发送者)。UseDPI =!((MedicalViewerCell)sender).UseDPI;
}
无效MedicalViewerLocalizer_FormClosing (对象发送方,FormClosingEventArgs e)
{
}
无效cell_FramesRequested (对象发送方,MedicalViewerRequestedFramesInformationEventArgs e)
{
MedicalViewerMultiCell细胞= (MedicalViewerMultiCell)(发送方);
RasterCodecs _codecs =新RasterCodecs ();
int我;
RasterImage形象;
字符串文件名;
如果(e.RequestedFramesIndexes。长度> 0)
{
文件名= (字符串)(_seriesManager.Stacks [0] . items (e.RequestedFramesIndexes [0]] . data);
形象= _codecs.Load(文件名);
}
其他的
返回;
为(i = 1;我< e.RequestedFramesIndexes.Length;我+ +)
{
文件名= (字符串)(_seriesManager.Stacks [0] . items (e.RequestedFramesIndexes[我]]. data);
image.AddPage (_codecs.Load(文件名));
}
细胞。SetRequestedImage(图片,e。RequestedFramesIndexes MedicalViewerSetImageOptions.Insert);
}
公共MedicalViewer查看器
{
得到{返回_medicalViewer;}
}
}
MedicalViewerUseDPIForm GetMedicalViewerUseDPIForm ()
{
MedicalViewerSeriesManagerFrom形式=新MedicalViewerSeriesManagerFrom ();
MedicalViewerSeriesManager输出= form.LoadJamesHead ();
返回新MedicalViewerUseDPIForm(输出);
}
/ /这个例子改变默认的窗口级别值通过减少宽度100。然后重置图像基于新值。
公共无效MedicalViewerUseDPIExample ()
{
MedicalViewerUseDPIForm myForm = GetMedicalViewerUseDPIForm ();
MedicalViewer MedicalViewer = myForm.Viewer;
myForm.ShowDialog ();
}
进口Leadtools
进口Leadtools.Dicom
进口Leadtools.Medical3D
进口Leadtools.Codecs
进口Leadtools.MedicalViewer
进口Leadtools.Annotations.Engine
进口Leadtools.Annotations.Designers
进口Leadtools.ImageProcessing.Core
私人类MedicalViewerUseDPIForm:继承了形式
私人_medicalViewer作为MedicalViewer
私人_seriesManager作为MedicalViewerSeriesManager
私人子MedicalViewer_SizeChanged (按值传递发送方作为对象,按值传递e作为EventArgs)
_medicalViewer。大小=新大小(我.ClientRectangle.Right,我.ClientRectangle.Bottom)
结束子
公共子新(按值传递输出作为MedicalViewerSeriesManager)
DicomEngine.Startup ()
昏暗的_codecs作为RasterCodecs =新RasterCodecs ()
AddHandlerSizeChanged,AddressOfMedicalViewer_SizeChanged
“创建医疗查看器和调整大小和位置。
_medicalViewer =新MedicalViewer (1、2)
_medicalViewer。位置=新点(0,0)
_medicalViewer。大小=新大小(我.ClientRectangle.Right,我.ClientRectangle.Bottom)
_seriesManager =输出
昏暗的细胞作为MedicalViewerMultiCell =新MedicalViewerMultiCell (没有什么,真正的,1,1)
昏暗的指数作为整数
昏暗的数作为整数= output.Stacks (0) . items。数
昏暗的codecsInformation作为CodecsImageInfo
昏暗的imageInformation作为MedicalViewerImageInformation () =新MedicalViewerImageInformation (数- 1){}
指数= 0
做而指数<数
codecsInformation = _codecs.GetInformation (装运箱(output.Stacks (0) . items(指数). data),真正的)
imageInformation(指数)=新MedicalViewerImageInformation ()
imageInformation(指数)。ImageHeight = codecsInformation.Width
imageInformation(指数)。ImageWidth = codecsInformation.Width
imageInformation(指数)。XResolution = codecsInformation.XResolution
imageInformation(指数)。YResolution = codecsInformation.YResolution
指数+ = 1
循环
AddHandlercell.FramesRequested,AddressOfcell_FramesRequested
AddHandlerFormClosing,AddressOfMedicalViewerLocalizer_FormClosing
cell.EnableLowMemoryUsage (2数imageInformation)
细胞。FitImageToCell =假
添加一些行动将被用于改变图像的属性内部的控制。
cell.AddAction (MedicalViewerActionType.WindowLevel)
cell.AddAction (MedicalViewerActionType.Alpha)
cell.AddAction (MedicalViewerActionType.Offset)
AddHandlercell.CellMouseClick,AddressOfcell_CellMouseClick
分配说鼠标按钮的行为,也就是说,当用户单击并拖动鼠标按钮,相关的行动将被激活。
cell.SetAction (MedicalViewerActionType。WindowLevel MedicalViewerMouseButtons。左,MedicalViewerActionFlags.Active)
cell.SetAction (MedicalViewerActionType。α,MedicalViewerMouseButtons。中间,MedicalViewerActionFlags.Active)
cell.SetAction (MedicalViewerActionType。抵消,MedicalViewerMouseButtons。对,MedicalViewerActionFlags.Active)
cell.ReferenceLine。启用了=真正的
cell.ReferenceLine。颜色= Color.Yellow
细胞。ShowCellBoundaries =真正的
_medicalViewer.Cells.Add(细胞)
调整细胞的一些属性和添加一些标签。
_medicalViewer.Cells (0)。MedicalViewerTagAlignment SetTag (2。TopLeft MedicalViewerTagType.UserData,“前女友ID 230-36-5448。”)
_medicalViewer.Cells (0)。MedicalViewerTagAlignment SetTag (4。TopLeft MedicalViewerTagType.Frame)
_medicalViewer.Cells (0)。MedicalViewerTagAlignment SetTag(6日。TopLeft MedicalViewerTagType.Scale)
_medicalViewer.Cells (0)。MedicalViewerTagAlignment SetTag (2。BottomLeft MedicalViewerTagType.WindowLevelData)
_medicalViewer.Cells (0)。MedicalViewerTagAlignment SetTag (1。BottomLeft MedicalViewerTagType.FieldOfView)
细胞。PixelSpacing = output.Stacks .PixelSpacing (0)
指数= 0
做而指数<数
细胞。SetImagePosition(指数,output.Stacks (0) . items(指数)。ImagePosition(指数=数- 1))
指数+ = 1
循环
细胞。ImageOrientation = output.Stacks (0) . items (0) .ImageOrientationArray
细胞。FrameOfReferenceUID = output.Stacks (0) . items (0) .FrameOfReferenceUID
Controls.Add (_medicalViewer)
_medicalViewer。做ck = DockStyle.Fill
DicomEngine.Shutdown ()
结束子
私人子cell_CellMouseClick (按值传递发送方作为对象,按值传递e作为MedicalViewerCellMouseEventArgs)
这是用来切换显示图像的图像使用DPI相对于屏幕的DPI, noramlly或显示它。
CType(发送方,MedicalViewerCell)。UseDPI =不(CType(发送者,MedicalViewerCell)) .UseDPI
结束子
私人子MedicalViewerLocalizer_FormClosing (按值传递发送方作为对象,按值传递e作为FormClosingEventArgs)
结束子
私人子cell_FramesRequested (按值传递发送方作为对象,按值传递e作为MedicalViewerRequestedFramesInformationEventArgs)
昏暗的细胞作为MedicalViewerMultiCell =CType(发送者,MedicalViewerMultiCell)
昏暗的_codecs作为RasterCodecs =新RasterCodecs ()
昏暗的我作为整数
昏暗的图像作为RasterImage
昏暗的文件名作为字符串
如果e.RequestedFramesIndexes。长度> 0然后
文件名=装运箱(_seriesManager.Stacks (0) . items (e.RequestedFramesIndexes (0)) . data)
形象= _codecs.Load(文件名)
其他的
返回
结束如果
i = 1
做而我< e.RequestedFramesIndexes.Length
文件名=装运箱(_seriesManager.Stacks (0) . items (e.RequestedFramesIndexes(我)). data)
image.AddPage (_codecs.Load(文件名)
我+ = 1
循环
细胞。SetRequestedImage(图片,e。RequestedFramesIndexes MedicalViewerSetImageOptions.Insert)
结束子
公共只读的财产查看器()作为MedicalViewer
得到
返回_medicalViewer
结束得到
结束财产
结束类
私人函数GetMedicalViewerUseDPIForm ()作为MedicalViewerUseDPIForm
昏暗的形式作为MedicalViewerSeriesManagerFrom =新MedicalViewerSeriesManagerFrom ()
昏暗的输出作为MedicalViewerSeriesManager = form.LoadJamesHead ()
返回新MedicalViewerUseDPIForm(输出)
结束函数
的这个例子中更改缺省窗口级别值在100年减少宽度。然后重置图像基于新值。
< TestMethod () > _
公共子MedicalViewerUseDPIExample ()
昏暗的myForm作为MedicalViewerUseDPIForm = GetMedicalViewerUseDPIForm ()
昏暗的medicalViewer作为MedicalViewer = myForm.Viewer
myForm.ShowDialog ()
结束子
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。