未找到

【示例教程】如何用LEADTOOLS 实现一个简单的STORE SCU存储客户端
by Harriet666 keys 分享 1519722017492
leadtools提供了封装后的dicom插件,可以非常方便的开发出dicom通讯部分的组件,本篇教程讲解如何使用相关的接口进行代码编写,实现Dicom协议中的CStore存储操作。
 
1.用vs2015创建一个winform项目,引用下面的dll,并在代码里引用
using Leadtools;
using Leadtools.Dicom;
using Leadtools.Dicom.Scu.Common;
using Leadtools.Dicom.Scu;
using Leadtools.MedicalViewer;
using System.Net;
using System.IO;
 
2.创建下面的对象
// CStore highlevel 客户端和服务端对象
        private StoreScu _cstore;
        private DicomScp _server = new DicomScp();
 
3.初始化服务器和客户端参数,
本次用的服务器即是开发包中运行pacs服务器设置程序后,创建的L19_PACS_SCP64
private void initServer() {
            _server = new DicomScp();
            _server.AETitle = "L19_PACS_SCP64";
            _server.PeerAddress = IPAddress.Parse("10.32.1.75");
            _server.Port = 534;
            _server.Timeout = 30;
        }
private void initCstore() {
            _cstore = new StoreScu();
            _cstore.AETitle = "L19_CLIENT64";
            _cstore.HostPort = 1030;
            //存储成功后
            _cstore.AfterCStore += _cstore_AfterCStore;
        }
 
4.执行存储命令
private void 存储ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string filename ="D:\\Xa.dcm";
            _cstore.Store(_server, filename);

        }

保存成功后即可在服务器管理器中,或者使用客户端查询已经存储的图像。
未发布 一体化建模仿真平台20-sim v4.6.4发布,修复3D动画
by Harriet666 keys 分享 1503567227661
20-sim是一种机电一体化系统的建模和仿真程序。利用20-sim可以像绘制工程方案一样灵活地的键入模型。这些模型能用于仿真和分析多域动态系统的特性,也可以创建控制系统,甚至可以生成C代码并用于快速原型设计和HIL仿真。

【20-sim v4.6最新版点击下载】

一体化建模仿真平台20-sim v4.6.4发布。此版本是一个维护版本,主要修复了以下问题:
3D动画修复:
  • 点角度范围问题。
代码生成修复:
  • 如果子模型采用输入的积分,则直接映射到R(ate) - 变量。
  • FMU中的初始方程不能影响初始状态。
  • 在FMI 1.0主模拟器中运行FMU时发生崩溃。
文档修复:
  • 参考手册:关于'while do'和'reapeat until'的声明不清楚。
  • 参考手册:3D动画窗口中的欧拉角定向(ZXZ而不是XYZ)。
模拟器修复:
  • 在模拟期间关闭20-sim时不保存模型。
  • 编写多个运行结果的数据文件时出现问题(参数扫描)。
  • 未命名节点可以为连续时间块而不是相应的离散块生成指令的问题。
未发布 AutoVue现在支持本地2D Creo / ProE图纸
by Harriet666 keys 分享 1513241496432
随着最新的AutoVue 21.0.1 RUP3的发布,Oracle重新引入了对2D Creo / ProE图纸的本地支持。 
 
为了提供一些上下文,Creo / ProE工程图包含完整的“本地”数据以及图形的预处理“显示列表”版本。使用“显示列表”往往会呈现绘图的最高保真度,但是在某些情况下不会出现,或者不会保持最新。
 
因此,AutoVue将优先显示“显示列表”版本。但是,如果显示列表不存在,或者如果检测到它已过时,将显示原始数据,以确保用户看到最新的信息。
 
AutoVue产品

AutoVue 3D Professional Advanced

提供了对领先的中型 3D CAD 包和主流的 2D CAD 软件的查看和标注的功能。


AutoVue Electro-Mechanical Professional

一款连接EDA和MCAD的文档信息处理控件


AutoVue EDA Professional

一个多用途,多功能的图文浏览,标注,协同作业的应用软件


AutoVue Office

可以用来浏览、注释、链接以及打印各种文件格式的文件。


AutoVue 2D Professional

AutoVue 2D 可原生查看文档,这就避免了最终用户使用原始程序,或转换文档到中间格式的麻烦。

未发布 ActiveX组件CADViewX v12发布,支持最新的AutoCAD®DWG 2018版本
by Harriet666 keys 分享 1497342612988
CADViewX一款能让应用程序具有强大CAD图像浏览和打印功能的图像处理工具,无需任何CAD软件或查看器即可打开、浏览、打印AutoCAD等几十种格式的图像文件,还能享受直观的鼠标滚轮缩放、拖拽、平铺印画功能。
 
【CADViewX 12最新版下载>>>】
 
CADViewX v12更新内容

CADViewX v12是用于导入和导出CAD文件的新版本的ActiveX组件。
现在,CADViewX Lite支持最新的DWG版本 - AutoCAD®DWG 2018。借助CADViewX Lite开发的应用程序将能够查看最新的图纸。
c971427152d14ce4b2f480de2dc696d5ojpg
要测试CADViewX Lite并将DWG 2018查看功能添加到应用程序中,请下载试用>>>
 
 

试用、下载、了解更多产品信息请点击"咨询在线客服"   
7
未发布 手机office办公——微软推出安卓手机端Office Mobile应用
by Harriet666 keys 分享 1493103861138

微软于4月19日在中国北京首次发布全新的安卓手机端Office Mobile应用。微软此次将 Word、Excel、PowerPoint三者完美合一,为中国的消费者带来完整的移动办公体验。

微软大中华区副总裁兼市场营销及运营总经理康容表示:“微软一直倾听用户的声音,最大化满足 Office 用户的需求。我们十分欣喜地宣布,此次微软中国将携手行业领先的合作伙伴——华为,小米,腾讯和百度在中国联合首发全新安卓手机端 Office Mobile 应用,为移动办公带来更便捷的创新体验。”

全新安卓手机端 Office Mobile 应用以更小的存储空间,为用户带来包括 Word、Excel、PowerPoint 的一站式完整办公体验。同时,它还具有 Office 熟悉的外观和品质,以及专为中国用户设计的本地化创新功能,进一步为用户带来更多便利。

更小的存储空间,完整的办公体验

全新安卓手机端 Office Mobile 应用将以“三合一”模式全面集成 Word、 Excel、PowerPoint 三个独立应用中所有功能,用户可随时随时地访问、查看和编辑 Word、Excel 和 PowerPoint 文档。这款全新安卓手机端 Office Mobile 应用体积更轻盈,不仅减少了应用程序对手机内存的占用,而且简化了用户在不同办公软件之间的切换操作。以更小的存储空间,为用户带来完整的办公体验。


(全新安卓手机端 Office Mobile 应用将 Word、Excel、PowerPoint 三者完美合一)

熟悉的跨设备办公体验,多种格式完美兼容

全新安卓手机端 Office Mobile 应用为用户带来熟悉的跨设备办公体验。当用户使用不同设备对文档进行浏览、快速编辑或添加注释时,所有文档的格式和内容都会与原始文档保持一致。Word 界面整洁美观,文字、图片、页眉、页脚和图表都保持原有格式;无论是幻灯片中的动画、SmartArt 图形和形状,还是 Excel 中的图表和数据,都能够高保真呈现,完美兼容。此外,用户还可以在全新安卓手机端 Office Mobile 应用中浏览 PDF 格式文件,将文档转存为 PDF 格式并进行分享。


(支持图表、动画、SmartArt 图形和形状等功能)

本地化创新功能,文件轻松共享

微软Office一直重视中国用户的声音,通过本地化功能创新,为中国用户带来更好的移动办公体验。全新安卓手机端 Office Mobile 应用支持多种分享形式。除了以链接形式邀请他人编辑或查看文档,还可作为附件一键共享到邮件以及微信、QQ 等社交软件,更好地迎合中国用户的使用习惯。


(融合本地化创新功能,支持文件分享到微信、QQ 等社交软件)

从今天开始,中国安卓手机用户就可以通过华为应用市场、小米应用商店、腾讯应用宝和百度手机助手下载并体验全新安卓手机端Office Mobile应用了。同时,也可以通过微软官网下载安装全新安卓端 Office Mobile 应用。

转自(Microsoft


office 365

未发布 .Net文档图像处理工具包GdPicture.NET发布v14.0.29,改进OCR功能
by Harriet666 keys 分享 1513847733393
GdPicture.NET是一款功能全面且可无限分发的文档图像处理工具包,开发者可将其作为.NET组件运用在他们的C#, VB.NET和CodeGear应用程序中,从而实现文档生成,显示,获取,编辑和打印等功能。在您的程序中使用GdPicture.NET,可实现文档显示,获取TWAIN扫描图像,进行图像处理,执行光学字符识别操作,其涵盖了所有主流领域的其他文件成像技术。

GdPicture.NET v14最新版下载>>>
 
GdPicture.NET v14.0.28
  • 新增GdPictureOCR类、先进的OCR功能和分割功能。
  • 支持新格式:WSQ。
  • GdPictureImaging类的OCR方法现在已被弃用。必须使用新的GdPictureOCR类。
  • 改进PDF文本提取和搜索算法。
  • 改进PDF格式光栅处理器,可以更好地处理非嵌入字体,并支持由常用PDF生成器生成的非标准色彩空间。
  • 减少了OCR内存的使用,特别是在多线程环境下。
  • Datamatrix阅读器引擎:引入多个字符串编码,提高了准确性。
  • PDF417阅读器引擎:引入多个字符串编码,提高了准确性。
  • QR码阅读器引擎:引入多个字符串编码,提高了准确性。
 
GdPicture.NET v14.0.29
  • 修复了读取特定WSQ文件的问题。
  • 改进了带有非嵌入字体的PDF光栅化引擎。
  • 改进了空白页检测引擎的准确性。
  • 改进边界清除引擎的准确性。
  • 修复了处理非常见图像分辨率时OCR引擎的问题。

未发布 Visual Studio 2017最新版正式发布!适用于任何开发人员、平台及APP丨附下载
by Harriet666 keys 分享 1489569909448
适用于任何开发人员、APP及任何平台的Visual Studio 2017 新功能介绍。
【Visual Studio 2017最新版免费下载(包含enterprise、community、professional版本)>>>】
点击查看原文>>>
未发布 Essential Studio for WPF更新至2017 v2,新增Adobe X安全性等功能丨附下载
by Harriet666 keys 分享 1495098904618
Essential Studio for WPF是一个帮您轻松创建利于分析且高性能Windows应用程序的WPF界面控件。包含了如 grids、charts、gauges、menus、calendars、editors等等。同时,文件格式库还允许您导出资料到Excel、World和PDF文件中,以及对这些格式的文件进行处理。
 
Essential Studio for WPF是一个大型组件,2017 v2新版本增加了工作簿排序和过滤、动态图表端口、Adobe X安全性和其他新的功能。
 

日历编辑

特殊日期标记

日历编辑控件中可以标记特殊日期。
c251f107933f4c0990beff6a87f91456ojpg

图表

区段颜色设置

图表中的每个段现已支持颜色贴图。
1615fa6734334912a18558f230ffcb33ojpg

多个样条曲线类型

图表控件现在支持样条区域的多个样条类型。
aadf541844db4041852f4a6308a3e597ojpg

图表

滚轮鼠标平移

通过将滚轮鼠标的中心滚动按钮移动到一侧,图表可以从左到右平移,反之亦然。
bd5702e304b9452e895f83d511fb2f26ojpg

片段装饰

连接器中添加了一种新的装饰元素,以指示连接在另一个连接器或片段上的流动。
13b3c8d533434e3585ff80e57a56190dojpg

滚动性能

当在图表中滚动大量对象时,将显示对象的轮廓,直到每个对象加载完成,从而平滑滚动。
9d799d41e34b409a943aa7139f3eda59ojpg

DocIO

增强Word转换PDF功能

DocIO现在支持Word到PDF转换期间的方程式字段。
2648b5574aea42bfa269f622e7f40982ojpg

编辑控件

支持Microsoft Visual Studio-like Go-To-Line

支持的内置会话窗口的Microsoft Visual Studio-like编辑器,用户可以选择浏览特定的行。
c81129e759744f0d9e5bed4829422e61ojpg

PDF

增强PDF安全功能

现在支持PDF 2.0安全功能(AES Revision 6)。
96ffdf5112f34cf1a921d5f3b35a6a90ojpg

演示

注释功能

可以在PowerPoint演示文稿中创建和修改注释。
6159be7538324e0eb727fb91ea87c1d4ojpg

属性网格

处理属性网格中的自定义描述符对象。
8824e56ca079454e9b0ada005d2c74b0ojpg

电子表格

排序和筛选

可以使用排序和自动过滤器选项在Excel中有效地分析数据。

排序

根据单元格值按升序或降序对数据进行排序。

过滤

使用自动过滤器功能过滤数据。如Excel中,该功能具有多个选项来过滤多列数据,以及从特定列中清除过滤数据的功能。
c9426becbed74cb08fb0696c14292254ojpg

树型网格

过滤

树状网格控件现在支持使用各种过滤器选项,用编程方的式过滤节点。
4d76cf0f1f0540199dc419345b1f83a5ojpg

XlsIO

Excel到PDF转换中的图标设置

Essential XlsIO支持使用“仅显示图标”和“反向图标顺序”选项进行PDF转换的自定义图标设置。
4ec86d3b6cda43cab676eac8e0dda486ojpg

增强图表转换图像功能

将图表转换为PDF文件或图像时,图表元素(如标题和显示单元)现在支持富文本和具有不同标记的图表系列。
227f9112c12a4974a4dc948a8b971bc3ojpg

数据透视表自定义排序

数据透视表列可以通过字符串数组或设置自定义位置进行排序。
897b6530731c48b6b3bd1454f90686c3ojpg

表格过滤器

可以根据文本、数值和日期过滤Excel表格行。

05dff7794d134a26b2031775e390dfcfojpg

未发布 移动开发UI工具包Xamarin.Forms v2.3.5-pre6发布
by Harriet666 keys 分享 1500454563990
Xamarin.Forms是一个跨平台、原生支持UI的工具包,允许开发者轻松创建用户界面。这些用户界面可以通过安卓、iOS和Windows Phone共享,使用目标平台的原生控件进行渲染,让每个平台上Xamarin.Forms应用的界面外观搭配得当。
Xamarin
 
v2.3.5-pre6更新内容
  • Xamarin.Forms现在与.NET Standard项目兼容! 并非所有创建功能都能正常工作。
  • 行为变化:Device.RuntimePlatform现在在WinRT和UWP上返回。
  • 行为变化:使用新的AutomationProperties可能会影响Android上的UI测试。 AutomationId、Name和HelpText都将设置本机ContentDescription属性,Name或HelpText优先于AutomationId(Name和HelpText将被级联)。 这意味着如果在该元素上也设置了Name或HelpText,那么查找AutomationId的任何测试都将失败。 要解决此问题,请在此方案中更改您的UI测试以查找Name/HelpText的值。
  • 行为变化:在WinRT/UWP上调用焦点选择器现在将打开下拉列表。
  • 弃用:Android IVisualElementRenderer.ViewGroup现已过时,请改用View。
未发布 【示例教程】使用leadtools的WCF接口功能实现从web端上传Dicom影像文件
by Harriet666 keys 分享 1517903663716
Leadtools 19总套包下载>>>
 
leadtools为web端提供了wcf接口来供用户可以登录pacs系统,检索,查看以及上传影像。本篇博客讲解如何创建一个网页来实现上传功能,通过WCF进行dicom文件的上传时,是将dicom文件转换为base64数据流,分段进行传输。
 
本篇博客运行的前提是已经部署完成Leadtools HTML5 Web Viewer,可以正常浏览。参考https://www.evget.com/article/2018/2/6/27757.html
 
在部署完成后,将下面的代码复制到一个HTML文件中,即可运行进行测试。另外需要添加html文件所需的jquery.min.js到同文件夹路径下。
<head>
    <meta charset="UTF-8">
head>

<form onsubmit="return false;">
    <input type="hidden" name="file_base64" id="file_base64">
    <input type="file" id="fileup" multiple="multiple">
    <input type="submit" value="submit" onclick="$.post('./uploader.php', $(this).parent().serialize());">
    <div>
        <div id="msg">div>
    div>
form>
<script src="scripts/jquery.min.js">script>
<script>

    $(document).ready(function () {
        authcookie = login();
        document.cookie = "authcookie=" + authcookie;
        $("#fileup").change(function () {
            getauthcookie("authcookie");
            filelist = this.files;
            file = filelist[fileindex];
            upload(file);
        });
    });
    var authcookie;//保存authcookie
    var filelist;//上传文件列表
    var file;//当前上传文件
    var tempfile = "";//临时文件名称
    var position = 0;
    var size = 40000;//分段大小
    var done = false;
    var fileindex=0;//当前上传文件序列号

    function upload(tempfile) {
        if(position==0)
            done=false;
        var reader = new FileReader();
        if (file.size > position + 40000)
            reader.readAsArrayBuffer(file.slice(position, position + 40000));
        else 
            reader.readAsArrayBuffer(file.slice(position, file.size));
        reader.onload = function (e) {
            if (e.target.readyState === 2) {
                var base64string = base64ArrayBuffer(e.target.result);
                var data = {
                    authenticationCookie: authcookie,
                    dicomData: base64string,
                    fileName: tempfile,
                    status: position==0?"start":"append"
                };
                tempfile = senddata(JSON.stringify(data));
                if (!done) {
                    position += 40000;
                    upload(tempfile);
                    if (position+40000>file.size)
                        done = true;
                }
                else {
                    var data = {
                        authenticationCookie: authcookie,
                        dicomData: "",
                        fileName: tempfile,
                        status: "done"
                    };
                    tempfile = senddata(JSON.stringify(data));
                    position = 0;
                    $("#msg").html($("#msg").html()+"第"+(fileindex+1)+"个文件已经上传完成

"); fileindex += 1; if (fileindex < filelist.length) { file = filelist[fileindex]; upload(tempfile); } else { fileindex = 0; $("#msg").html($("#msg").html() + "文件全部已经上传完成

"); } } } }; } function senddata(data) { var result; $.ajax({ type:"post", url: "http://localhost/MedicalViewerService19/StoreService.svc/UploadDicomImage", data: data, contentType: "application/json", dataType: "json", success: function(data){result= data}, async: false }); return result; } function login() { var auth; var logininfo = { userName: "a", password: "a", userData: "" }; $.ajax({ type: "post", url: "http://localhost/MedicalViewerService19/AuthenticationService.svc/AuthenticateUser", data: JSON.stringify(logininfo), contentType: "application/json", dataType: "text", success: function (data) { auth= data }, async: false }); return auth; } function query() { } function getauthcookie() { document.cookie.split(";").forEach(function (val, index) { var index = val.indexOf("="); if ($.trim(val.substring(0, index)) == "authcookie") { authcookie = $.trim(val.substring(index + 1, val.length)); } }); return ""; } function base64ArrayBuffer(arrayBuffer) { var base64 = ''; var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; var bytes = new Uint8Array(arrayBuffer); var byteLength = bytes.byteLength; var byteRemainder = byteLength % 3; var mainLength = byteLength - byteRemainder; var a, b, c, d; var chunk; // Main loop deals with bytes in chunks of 3 for (var i = 0; i < mainLength; i = i + 3) { // Combine the three bytes into a single integer chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]; // Use bitmasks to extract 6-bit segments from the triplet a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18 b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12 c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6 d = chunk & 63; // 63 = 2^6 - 1 // Convert the raw binary segments to the appropriate ASCII encoding base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]; } // Deal with the remaining bytes and padding if (byteRemainder == 1) { chunk = bytes[mainLength] a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2 // Set the 4 least significant bits to zero b = (chunk & 3) << 4; // 3 = 2^2 - 1 base64 += encodings[a] + encodings[b] + '=='; } else if (byteRemainder == 2) { chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]; a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10 b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4 // Set the 2 least significant bits to zero c = (chunk & 15) << 2 // 15 = 2^4 - 1 base64 += encodings[a] + encodings[b] + encodings[c] + '='; } return base64; } script>

6


 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. 在无管理员权限的情况下,使用安装Python补全pip临时配置环境变量;即零权限使用node.js/npm
  2. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  5. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  6. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  7. Node.js 打印vite react+go项目目录树
  8. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  9. Windows与Mac通过git ssh和rsync实现文件共享互传
  10. Windows与Mac通过git ssh和scp实现文件共享互传

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA