超声工作站单机版2019更新补丁

采集图像报错与打印预览报错及字体工具体位置不正确更新修正

 

更新日期

2019-05-11

修正姓名引用内容建新病例的BUG

 

2019-05324
更新内容:
修改视频裁剪函数,使之不会因为在windows10下,采图出错!但采图仍要有频率限制不可,如狂按F4采图键连续极端快速采图!
修正字体调节工具栏在首页面占独占一行的问题。
修正打印预览时因内存设置超限报错的问题。
更新方法:
下载文件后,将下载到的MedSysUS.exe复制到c:\program files\stusdata\release目录,替换原文件即可!

重要说明

此次更新2019-05-11更新,仅对部份客户的版本更新,更新前请咨询工程师,
如无必要,请直接用安装包中的更新文件即可正常工作。而使用本更新,数据库字段histitemid的类型需手工更改!

软件安装教程

1.软件安装调试记录2019-11-10 提取码:r46g
2.软件安装记录001  提取码:i2cl
3.常见问题的解决办法      提取码:r3p6

 

HD200D高清采集卡

接口

接口

外观

一路高清视频采集卡
Model:HD200D

采集以下一路信号
1080P HDMI+内嵌声音
1080P DVI信号
1080P VGA信号
YPBPR色差+立体声音频

特性

产品示意图

产品简介

产品简介 HD200D一款支持全高清1080P 60HZ高清视频采集卡,板卡采用了高速的PCI-E 2.0 X1接口,

可实现1080P全实时不丢帧60帧传输。支持HDMI、DVI、VGA、色差和音频输入,满足各种用

户的需求,其最高分辨率可以实现1920×1080,支持真正10Bit实时HD全分辨率高清无压缩

视频采集,实现真正广播级、 好莱坞电影级别的采集编辑,满足各种全高清摄像机实时监

视采集及抓图的需求。

我们提供完整的SDK开发包,可以选择VisualBasic、VisualC++、Delphi,C#,Labview等多

种编程语言通过SDK进行开发。提供完整的labview vi函数和测试demo程序,方便客户快速

开发相关LABVIEW程序。我们还提供调用范例程序源程序及函数详细调用说明,方客户轻松

开发自己的应用系统;同时我们提供完善的开发技术支持,并可根据客户要求量身定做SDK。

产品特性
可采集1路全高清1080p/60 Hz
产品采用高性能Xilinx Fpga设计开发
可采集HDMI和模拟音频信号
高清输入可动态切换信号源类型:DVI/HDMI/分量
支持运动自适应去隔行功能
高清输入支持画面水平、垂直反转功能
高清输入支持自动输入视频格式侦测
硬件色彩转换,可输出RGB24,YUY2色彩格式测
高清输入支持多阶画面缩放功能
高清输入支持支持色彩调节功能,可调节画面的对比度、亮度、色彩饱和度、对比度能
微软AVStream标准驱动,可支持大部分Windows上的多媒体视频软件或流媒体软件
支持固件在线升级
设备连接接口
PCI-Express Gen2 X1

视频ADC位深

12BIT AD转换
输入接口
1个DVI 接口 (可转接VGA、HDMI、分量,模拟音频立体声输入)

DVI-I 1.0/ HDMI 1.4A

DMA传输带宽

最高可达500MB/S 可实现1920*1080 RGB24数据稳定传输60帧
分量输入格式标准
YPBPR色差输入格式标准

480i、576i、480p,576p,720p,1080i,1080p

HDMI和DVI输入格式标准

HDMI和DVI输入格式标准
   480i、576i、480p,576p,720p,1080i,1080p和常见显示分辨率
VGA输入格式标准
12bit ADC

支持 RGB 和 YCbCr (YUV) 的色彩空间

支持分离同步、复合同步、绿嵌入同步 (SOG)、亮度嵌入同步 (SOY)

支持 DMT/CEA/CVT/GTF 视频时序

对输入信号 1:1 采样时,最高像素率可达 165MHz

支持视频流格式

支持视频流格式:YUY2, RGB24
兼容软件支持
VLC
OBS
xSplit
VidBlaster
Wirecast
VirtualDub
Microsoft Media Encoder
Adobe Flash Media Encoder
任何其它使用 DirectShow 或 V4L2 编程接口的编码或流媒体软件

操作系统支持

WINXP/Windows /7/8/10/2008/2008 R2(支持32和64位系统)。
Linux(基于V4L2 Ubuntu 1204以上)
产品尺寸
92.7mm x 63.4mm

产品功耗

12V电源的最大电流:0.4 A
最大功耗:5W
产品配件
半高PCI-E挡板

DVI转接VGA转接头

DVI转HDMI转接头

DVI转色差和左右声道输入辫子线

HD200D VER2.3.0版本驱动下载

版本v2.3.0 更新日期20181201

适用HD200D/HD200HS/HD200DS/HD200MS/HD300H型号采集卡驱动

驱动支持winxp/win7/win8/win10 32位和64位驱动。

HD200HS高清采集卡

接口

接口

外观

HD200HS高清采集卡

一路高清视频采集卡
Model:HD200HS
采集以下一路信号
1080P HDMI+内嵌声音
1080P SDI信号_内嵌音频
立体声音频

特性

产品示意图

产品简介

产品简介 HD200HS一款支持全高清1080P 60HZ高清视频采集卡,板卡采用了高速的PCI-E GEN2X1

接口,可实现1080P全实时不丢帧60帧传输。支持HDMI、SDI和音频输入,满足各种用户的

需求,其最高分辨率可以实现1920×1080,支持真正10Bit实时HD全分辨率高清无压缩视频采

集,实现真正广播级、 好莱坞电影级别的采集编辑,满足各种全高清摄像机实时监视采集及抓

图的需求。

我们提供完整的SDK开发包,可以选择VisualBasic、VisualC++、Delphi,C#,Labview等多

种编程语言通过SDK进行开发。提供完整的Labview VI函数和测试demo程序,方便客户快速

开发相关LABVIEW程序。我们还提供调用范例程序源程序及函数详细调用说明,方客户轻松

开发自己的应用系统;同时我们提供完善的开发技术支持,并可根据客户要求量身定做SDK。

产品特性 可采集1路全高清1080P 60HZ信号

产品采用高性能Xilinx Fpga设计开发

可采集HDMI,SDI和模拟音频信号

高清输入可动态切换信号源类型:SDI/HDMI

支持运动自适应去隔行功能

高清输入支持画面水平、垂直反转功能

高清输入支持自动输入视频格式侦测

硬件色彩转换,可输出RGB24,YUY2色彩格式测

高清输入支持多阶画面缩放功能

高清输入支持支持色彩调节功能,可调节画面的对比度、亮度、色彩饱和度、对比度能

微软AVStream标准驱动,可支持大部分Windows上的多媒体视频软件或流媒体软件

支持固件在线升级

设备连接接口

PCI-Express Gen2 X1
视频ADC位深 12BIT AD转换

输入接口

1个HDMI接口

1个SDI输入接口

模拟音频立体声输入接口

DMA传输带宽 最高可达500MB/S 可实现1920*1080 RGB24数据稳定传输60帧

SDI信号特性

集成电缆均衡器,HD-SDI 信号传输距离最长可达 200 米

支持 SD/HD/3Ga/3Gb/3Ga-DL/3Gb-DS 标准

支持 RGB 4:4:4,YCbCr 4:4:4,YCbCr 4:2:2 色彩采样

支持 10/12-bit 的色彩深度 支持SDI音频采集

HDMI输入格式标准 HDMI输入格式标准

640x480p(60/72/75/8HZ)/800x600p(60/72/75/85HZ)

1024x768p(70/75/85HZ)/1280x768p(60/75/85HZ)

1280x960p(60//85HZ)/1280x1024p(60/75/85HZ)

1600x1024p60/1600x1200p60/1680x1050p60/1920x1080p60

1920x1200p60/1152x870p75/1024x576p60/1280x720p60

1360x768p60/1440x788p60/1440x960p72

1440x1050p60/1152x864p75

模拟音频输入特性

   音频采样频率44.1khz,双声道立体声
支持视频流格式 支持视频流格式:YUY2, RGB24

兼容软件支持

VLC
OBS
xSplit
VidBlaster
Wirecast
VirtualDub
Microsoft Media Encoder
Adobe Flash Media Encoder
任何其它使用 DirectShow 或 V4L2 编程接口的编码或流媒体软件
操作系统支持 WINXP/Windows /7/8/10/2008/2008 R2(支持32和64位系统)。

Linux(基于V4L2 Ubuntu 1204以上)

产品尺寸

92.7mm x 63.4mm
产品功耗 12V电源的最大电流:0.4 A

最大功耗:5.5W

产品配件

半高PCI-E挡板

HD200HS VER2.3.0版本驱动下载

版本v2.3.0 更新日期20181201

适用HD200HS/HD200MS/HD300S型号采集卡驱动

驱动支持winxp/win7/win8/win10 32位和64位驱动。

视频采集卡SV-2000E驱动下载

参数

SV2000E PCI-E视频采集卡

    一路标清PCI-E视频采集卡

    Model:SV2000E

视频信号输入

  •     两路复合视频切换输入
  •     S-VIDEO模拟视频切换输入

接口

特性

产品示意图

配件

可提供半高挡板

SV2000E VER7.45版本驱动下载

适用SV2000E和SV2000ME 型号采集卡驱动 驱动支持winxp/win7/win8/win10 32位和64位驱动。 本驱动支持去隔行,视频降噪等视频增强功能,支持DirectShow开发第三方程序

驱动安装方法

采集卡,支持32t和64位操作系统,

对于s-video和av两种信号输入,及ntsc制式和pal制式的驱动,又分别有两种驱动,分别对应两个目录,

如32位win7的系统,信号为s-video的信号视频制式为ntsc,则其驱动运动应着目录:win32 drv ntsc svideo

如32位win7的系统,信号为av的信号视频制式为pal,则其驱动运动应着目录:win32 drv pal

 

安装驱动,执行驱动目录内的“DriverSetup.exe”即可

调节图像质量,执行驱动目录内的“图像增强算法设置.exe”即可

 

 

超声打印

procedure Trepform.frxptBeforePrint(Sender: TfrxReportComponent);
var filepath: string;
  
  rptformats: string;
 
 
  chname, fname: string;
  docharset, dofontchange: Boolean;
  charsetindex, I: Integer;
  picconter: Integer;
begin
  ExportFileName := DateTimeToStr(dm.Mqry.fieldbyname('baogaoriqi').AsDateTime) + dm.mqryname.AsString;
  picconter := 0; {默认的打印图片为0}
 
 
//   sHostpitalLogo,
//   sHostpitalName,
 if frxpt.FindObject('caInfo') <> nil then
    (frxpt.FindObject('caInfo') as TfrxMemoView).Memo.Text := s_CaInfo;
  if frxpt.FindObject('hostname') <> nil then
    (frxpt.FindObject('hostname') as TfrxMemoView).Memo.Text := sHostpitalName;
   if frxpt.FindObject('hostname1') <> nil then
    (frxpt.FindObject('hostname1') as TfrxMemoView).Memo.Text := sHostpitalName;
  if frxpt.FindObject('logo') <> nil then
  begin
    if FileExists(sHostpitalLogo) then
      (frxpt.FindObject('logo') as TfrxPictureView).Picture.LoadFromFile(sHostpitalLogo);
  end;
   if frxpt.FindObject('logo1') <> nil then
  begin
    if FileExists(sHostpitalLogo) then
      (frxpt.FindObject('logo1') as TfrxPictureView).Picture.LoadFromFile(sHostpitalLogo);
  end;
  if ((frxpt.FindObject('reportTitle') as TfrxMemoView) <> nil) then
    (frxpt.FindObject('reportTitle') as TfrxMemoView).Text := mainunit.P_reportTitle;
      {这两行的决定超声所见和超声提示是否支持多行显示}
 
 
  chname := mySysParms.getElementTextAttribute('/config/Print', 'charset', 'font_DEFAULT_CHARSET');
  fname :=  mySysParms.getElementTextAttribute('/config/Print', 'font_fontname', '宋体');
  dofontchange :=mySysParms.getElementBooleanAttribute('/config/Print','font_fontChange',True);
  docharset:= mySysParms.getElementBooleanAttribute('/config/Print','font_used', True);
 
  IdentToCharset(chname, charsetindex);
  for i := 0 to frxpt.ComponentCount - 1 do
  begin
    if TComponent(frxpt.Components[i]) is TfrxRichView then
      (TComponent(frxpt.Components[i]) as TfrxRichView).Wysiwyg := mainunit.Print_Wysiwyg;
    if TComponent(frxpt.Components[i]) is TfrxMemoView then
    begin
      (TComponent(frxpt.Components[i]) as TfrxMemoView).Wysiwyg := mainunit.Print_Wysiwyg;
      if docharset then
      begin
        (TComponent(frxpt.Components[i]) as TfrxMemoView).font.Charset := charsetindex;
        if (TComponent(frxpt.Components[i]) as TfrxMemoView).Name <> 'hostname' then
          (TComponent(frxpt.Components[i]) as TfrxMemoView).font.name := fname;
      end;
    end;
  end;
 
 
 
  filepath :=SPath.LocalPath+ dm.mqryimagepath.AsString;
  filepath:=StringReplace(filepath,'\\','\',[rfReplaceAll]) ;
  Exportpath:=filepath;
  if FileExists(filepath + '\rpt1.jpg') then
    picconter := picconter + 1;
  if FileExists(filepath + '\rpt2.jpg') then
    picconter := picconter + 1;
  if FileExists(filepath + '\rpt3.jpg') then
    picconter := picconter + 1;
  if FileExists(filepath + '\rpt4.jpg') then
    picconter := picconter + 1;
  if FileExists(filepath + '\rpt5.jpg') then
    picconter := picconter + 1;
  if FileExists(filepath + '\rpt6.jpg') then
    picconter := picconter + 1;
 
  rptformats := dm.mqryrep_format.AsString;
  rptformats := StringReplace(rptformats, 'D:\stusdata\reportformat\', '', [rfReplaceAll]);
  if frxpt.FindObject('ReportTitle1') <> nil then
    (frxpt.FindObject('ReportTitle1') as TfrxReportTitle).Tag := picconter;
  if FileExists(filepath + '\rpt1.jpg') then
  begin
    if frxpt.FindObject('Picture1') <> nil then
      (frxpt.FindObject('Picture1') as TfrxPictureView).Picture.LoadFromFile(filepath + '\rpt1.jpg');
  end;
  if FileExists(filepath + '\rpt2.jpg') then
  begin
    if frxpt.FindObject('Picture2') <> nil then
      (frxpt.FindObject('Picture2') as TfrxPictureView).Picture.LoadFromFile(filepath + '\rpt2.jpg');
  end;
  if FileExists(filepath + '\rpt3.jpg') then
  begin
    if frxpt.FindObject('Picture3') <> nil then
      (frxpt.FindObject('Picture3') as TfrxPictureView).Picture.LoadFromFile(filepath + '\rpt3.jpg');
  end;
  if FileExists(filepath + '\rpt4.jpg') then
  begin
    if frxpt.FindObject('Picture4') <> nil then
      (frxpt.FindObject('Picture4') as TfrxPictureView).Picture.LoadFromFile(filepath + '\rpt4.jpg');
  end;
  if FileExists(filepath + '\rpt5.jpg') then
  begin
    if frxpt.FindObject('Picture5') <> nil then
      (frxpt.FindObject('Picture5') as TfrxPictureView).Picture.LoadFromFile(filepath + '\rpt5.jpg');
  end;
  if FileExists(filepath + '\rpt6.jpg') then
  begin
    if frxpt.FindObject('Picture6') <> nil then
      (frxpt.FindObject('Picture6') as TfrxPictureView).Picture.LoadFromFile(filepath + '\rpt6.jpg');
  end;
 if  frxpt.FindObject('dbjinchasuojian')<> nil then
    (frxpt.FindObject('dbjinchasuojian') as TfrxMemoView).Font.Size:=i_ReportSJTS_FontSize;
 if  frxpt.FindObject('dbjianchajielun')<> nil then
    (frxpt.FindObject('dbjianchajielun') as TfrxMemoView).Font.Size:=i_ReportSJTS_FontSize;
  if  frxpt.FindObject('Memo44')<> nil then
    (frxpt.FindObject('Memo44') as TfrxMemoView).Font.Size:=i_ReportSJTS_FontSize;
  if FileExists(filepath + '\CeLiang.jpg') then
  begin
    if frxpt.FindObject('Picturecl') <> nil then
      (frxpt.FindObject('Picturecl') as TfrxPictureView).Picture.LoadFromFile(filepath + '\CeLiang.jpg');
  end;
//  if frxpt.FindObject('PageFooter1')<> nil then
//     begin
//        if (frxpt.FindObject('Page1') as TfrxReportPage).PageCount>1 then
//          begin
//            (frxpt.FindObject('PageFooter1') as TfrxPageFooter).PrintOnFirstPage:=False;
//            (frxpt.FindObject('PageFooter1') as TfrxPageFooter).PrintOnLastPage:=true;
//          end
//         else
//           begin
//             (frxpt.FindObject('PageFooter1') as TfrxPageFooter).PrintOnFirstPage:=true;
//            (frxpt.FindObject('PageFooter1') as TfrxPageFooter).PrintOnLastPage:=true;
//           end;
//
//     end;
//frxpt.Engine.
end;

 

PDFCreater2虚拟打印机生成PDF到目的路径

打印前执行加载签名

  if frxpt.FindObject(‘DocQianMing’)<>nil then  //加载医生签名,在报告页面上合适的位置放置一个图片名称为DocQianMing
begin
//mainunit.Current_user
docqmpath:=ExtractFilePath(Application.ExeName)+’DocQianMing\’+mainunit.Current_user+’.jpg’;
if FileExists(docqmpath) then
(frxpt.FindObject(‘DocQianMing’) as TfrxPictureView).Picture.LoadFromFile(docqmpath);
end;

if frxpt.FindObject(‘DocQianMing’)<>nil then  //加载医生签名,在报告页面上合适的位置放置一个图片名称为DocQianMing
begin
//mainunit.Current_user
docqmpath:=ExtractFilePath(Application.ExeName)+’DocQianMing\’+mainform.DBComboBox1.Text+’.jpg’;
if FileExists(docqmpath) then
(frxpt.FindObject(‘DocQianMing’) as TfrxPictureView).Picture.LoadFromFile(docqmpath);
end;

程序中相关 配置文件

超声

 //虚拟打印机名称配置
v_pdfPrinter:=mySysParms.getElementTextAttribute(‘/config/vPrint’,’PrintName’,’PDFCrestor’)  ;

//内镜配置GWSET.INI

 v_pdfPrinter:=regini.ReadString(‘虚拟打印机’,’打印机名称’,’PDFCreator’) ;

//内镜真实的打印机配置

V_DefaultPrinter:=regini.ReadString(‘打印’,’默认的打印机’,’default’);//设置默认的打印机