未找到

未发布 【示例教程】LEADTOOLS中如何载入DICOM文件并压缩
by Harriet666 keys 分享 1510907723026
LEADTOOLS可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。
 
本篇文章分享一个基本的LEADTOOLS C#代码示例,讲解如何载入DICOM文件,然后将它压缩保存以减少文件大小。
 
在压缩时,你将使用jpeg2000压缩类型。一旦初始化了DicomJpeg2000Options选项,就可以开始为新的DICOM文件设置选项了。
 
有两个枚举,将在这个过程中使用的:
  • CompressionControl-获取或设置指示如何确定所产生的压缩。
  • CompressionRatio -获取或设置指示压缩比使用整型值。
一旦你有了这些枚举集合的DicomJpeg2000Options选项,你需要给数据集本身的选项。
 
现在你可以使用ChangeTransferSyntax改变数据集的传输语法。
 
最后,你可以使用保存方法保存数据集。
 
通过这些设置,我们可以将DICOM文件从从854kb压缩到36kb。
 
DicomEngine.Startup();
using (DicomDataSet ds = new DicomDataSet())
{
   //Load DICOM File 
   ds.Load(input, DicomDataSetLoadFlags.None);

   //Initialize J2K Options
   DicomJpeg2000Options options = ds.DefaultJpeg2000Options;

   //Set Options
   options.CompressionControl = DicomJpeg2000CompressionControl.Ratio;
   options.CompressionRatio = 50;

   //Add options to the dataset
   ds.Jpeg2000Options = options;

   //Change the transfer syntax to J22K
   ds.ChangeTransferSyntax(DicomUidType.JPEG2000, 2, ChangeTransferSyntaxFlags.MinimizeJpegSize);

   //Save Dicom file
   ds.Save(dest, DicomDataSetSaveFlags.None);

   //Shut down the DICOM engine
   DicomEngine.Shutdown();
}
未发布 PDF插件VintaSoftPDF.NET Plug-in v5.5发布,新增PDF验证功能
by Harriet666 keys 分享 1496299140709

VintaSoftPDF.NET Plug-in是一个完全的.NET组件,可用于查看,创建以及编辑PDF文档。该程序库还可用于显示,渲染,创建,转化,注释,打印,保存,修改和编辑PDF文档页面。

VintaSoftPDF.NET Plug-in下载试用>>>


PDF文件的验证和转换:
  • 增加了验证符合标准的PDF文件的功能:PDF / A-1b、PDF / A-2b、PDF / A-3b。
    ·  能够验证PDF文档是否符合所有章节、单独的章节或PDF / A规范的项目。
    ·  快速验证模式(直到找到第一个错误)。
    ·  能够显示验证过程的多层次进度指标。
    ·  能够详细查看验证结果。
    ·  开放架构,允许开发任何算法来验证PDF文档。
  • 增加了将PDF文档转换成以下格式的功能:PDF / A-1b、PDF / A-2b、PDF / A-3b。
    ·  能够显示验证过程的多层次进度指标。
    ·  能够查看转换结果的全部细节。
    ·  开放架构,允许开发任何算法来转换PDF文档。

使用PDF文档:

  • 增加了在多个线程中处理PDF文档的功能(渲染、缩略图、文本提取、图像提取)。
  • 改进了XREF表恢复的算法。

使用PDF文档的注释:

  • 支持的新类型的PDF注释:
    ·  Ink
    ·  文件附件
  • 添加了PDF注释的样式:多边形、矩形、自由文本。
  • 在WinForms和WPF中添加了在注释图像查看器中显示PDF注释的弹出窗口的功能。
  • 改进了PdfAnnotationTool和WpfPdfAnnotationTool编辑模式下的注释多选功能。

使用PDF文档的交互式领域:

  • 添加了新的交互式字段--PDFFInteractiveFormVintasoftBarcodeField,它允许使用VintaSoft Barcode .NET SDK中可用的所有类型的1D和2D条形码。该字段有一些额外的参数,这在PdfInteractiveFormBarcodeField中是不可用的:
    ·  背景颜色
    ·  条码颜色
    ·  边框(颜色、宽度)
    ·  条形码布局
    ·  BestFit模式(条形图被拉伸以填充整个区域,二维条形码将保持其比例)
  • 增加了自动更新交互式字段外观的功能(PdfDocument.AutoUpdateInteractiveFormAppearances)。

渲染PDF文档:

  • 增加了在PDF页面中渲染JPEG图像时控制样本插值的功能。
  • 提高了1-bit图像的渲染性能。

查看具体更新内容>>>

未发布 【移动开发】Essential Studio for WPF 2017 v1新版发布丨附下载
by Harriet666 keys 分享 1488445200868
Essential Studio for WPF更新至2017 v1版本,增加了数据网格、地图和sunburst chart控件等更多其他功能。

Essential Studio for WPF 2017 v1点击下载>>>

未发布 新的JavaScript库邀请程序员使用Canvas进行创意编程
by Harriet666 keys 分享 1487837494989

首款专门用于LOB应用开发的JavaScript框架点击下载>>>

为了模糊技术和艺术之间的界限,Sandpit库使用JavaScript和Canvas 2D元素进行创意编程。

通过GitHub或NPM并内置在ECMAScript 6中,Sandpit仍然使用着一个可能会在1.0版本之前更改的API进行开发。“Sandpit的目标是规范和简化创建编码的过程,利用代码来做漂亮的东西,”文档介绍里提到。“不管是在2D还是3D中,通常都会绘制到Canvas元素中。”Sandpit使用dat.GUI(一个改变JavaScript中的变量的轻量级GUI)来管理设置。

未发布 Java新版本的开发已正式进入轨道,版本号18.3
by Harriet666 keys 分享 1509701758197

Java 9在9月21日正式发布,同时Oracle宣布将Java新版本的发布周期调整为每半年一次。目前,Java新版本的开发也已正式进入轨道。就已公开的消息来看,下一个版本的Java预计会在2018年3月发布,版本号将会是18.3,已经规划加入的特性包括JEP 286和296。

根据reddit站点上的讨论,首先更新的是JEP 296,Valhalla预计很快也会加入进来。OpenJDK的主页面则显示,已确定要在18.3版本实现的是JEP 286和296。

JEP 296主要是将JDK仓库群(JDK Repository Forest)合并为一个仓库,旨在降低管理大量仓库群的成本。根据InfoQ之前的报道,该仓库群的合并已经完成。这些软件仓库是在OpenJDK发展史上历次分裂生成的,在OpenJDK 9及以前的版本中将会继续存在。在这次合并操作之前,OpenJDK曾分裂为多个不同的Mercurial软件仓库群,这导致了许多问题,例如不能以原子方式对多个软件仓库应用漏洞修复(Bug Fixes)。在OpenJDK合并完成后,只会有一个软件仓库,并复制在三个开发线上。为了简化仓库的管理,JDK中还创建了用于在合并和未合并版本间移动更改的工具。

JEP 286提议在Java中引入局部变量的类型推断,该JEP在2016年提出,InfoQ曾经报道过该JEP的概况和相关的开发者调查结果。该JEP旨在减少编写Java代码相关的仪式性的内容,提升开发人员的体验,同时还要保证Java语言的静态性。它会减少开发人员在声明局部变量时,没有必要的变量类型声明。如果该JEP实现的话,在声明局部变量的时候,就可以采用类似如下的方式:

var list = new ArrayList();  // infers ArrayList
var stream = list.stream();          // infers Stream

这种语句只能用于带有初始化器(initializer)的局部变量、增强的for-loop中的索引以及传统for-loop中声明的局部变量。它不能用于方法声明、构造函数声明、方法返回值、字段、catch语句以及其他类型的变量声明中。

关于局部变量的类型推断,不管是JVM体系中的语言还是其他语言都提供了一定形式的支持,比如C++(auto)、C#(var)、Scala(var/val)以及Go(通过:=进行声明)。至于该使用var作为关键字,还是使用let或类似于C/C++中的auto作为关键字,之前曾经有过一个面向开发者的调查。大约84%的回答表明定义可变内容的变量用关键字var是恰当的,只有百分之几的回答者建议使用auto更合适。根据Java语言架构师Brian Goetz介绍,该功能应该使用关键词var。

关于该特性的用法,在reddit上有一些讨论。有人表示,即便在支持“auto”语法的语言中,该特性使用的也比较少,因为有些人希望一眼就能看出变量的类型是什么。也有人认为,var有它的适用空间,在小的代码块中,直接用它实例化对象是可以的。如果是作为方法返回值的话,还是希望明确声明类型,Java的类型推断并不支持方法返回值,这一点倒不必担心。如果函数或代码块比较长的话,就不建议使用var了并要考虑适时进行代码的重写。时间和经验将会让我们更加明确应该在何时使用新功能,就像Optional刚出现时,也是耗费了一些时间才明确其推荐适用场景。

Valhalla项目中包含了一些有趣的JEP,包括值类型(Value Type)、针对原始类型实现泛型功能、增强的volatile等,外界很期待这些内容最终也能添加到新版本中。


2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 【示例教程】如何使用LEADTOOLS 的JAVA接口从护照中识别和提取数据
by Harriet666 keys 分享 1510647780810
LEADTOOLS可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。
 
本教程会发布一个java代码片段,你可以用它读一本护照提取其中的数据。记住,为了获得最精确的结果,你需要有一个清晰的图像,这样引擎在这个过程中才能获得精确的结果。
// Set your license
RasterSupport.setLicense(licenseFile, developerKey);

try{
    if(RasterSupport.getKernelExpired()) {
    System.out.println("License NOT Set Successfully");
    }
    else {
    System.out.println("License Set Successfully");
    }

RasterCodecs rasterCodecs = new RasterCodecs();
MRTDReader mrtdReader = new MRTDReader();
String stream = "PASSPORT_IMAGE.jpg";

RasterImage rasterImage = rasterCodecs.load(stream);

OcrEngine ocrEngine = OcrEngineManager.createEngine(OcrEngineType.ADVANTAGE);
ocrEngine.startup(rasterCodecs, null, null, null);

        
mrtdReader.setOcrEngine(ocrEngine);
mrtdReader.processImage(rasterImage);        
mrtdReader.setImproveResults(true);
HashMap ar = new HashMap<>();
ar = mrtdReader.getResults();

String[] string = mrtdReader.getLines();
        
for (String string2 : string) {
    System.out.println(string2);
}
                
for (Map.Entry map : ar.entrySet()) {
MRTDField key = map.getKey();
System.out.println(key);
MRTDDataElement value = map.getValue();
System.out.println(value.getReadableValue());
}
        
ocrEngine.shutdown();
}
catch(Exception e)
{
    e.printStackTrace();
    throw new Exception(e);
}
被识别的护照如下:
 
最终输出的结果如下:

2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 图像处理控件Graphics Mill for .NET更新至v9.1.28,支持PSD丨附下载
by Harriet666 keys 分享 1504086840462
Graphics Mill一款专为.NET平台而开发的图像处理控件,他是图像领域应用开发必不可少的工具——无论是创建图像发布网站,还是在应用程序中图像的打印预览,还是进行其它的图像应用程序开发,Graphics Mill 都是一款相当优秀的控件。
 

新功能:支持PSD

  • 支持颜色叠加效果。
  • 增加了PSD模板的预检。现在,你可以验证是否支持PSD文件中应用的效果和功能。
  • 增加了PSD文件验证的代码示例。

Bug修复

  • 修复了将索引的PNG文件转换为PDF的问题。
  • 修复了在某些SVG文件中绘制文本的问题。
  • 修复了从Path.Create方法抛出System.AccessViolation的问题。
未发布 条码读取控件Dynamsoft Barcode Reader 5.0发布丨附下载
by Harriet666 keys 分享 1489041316254

【强大的条码读取控件Dynamsoft Barcode Reader 5.0最新版点击下载>>>】

此次更新和改进仅适用于Windows Edition。

新增

  • 用于1D条形码的新de-blur算法,可以提高在模糊图像中扫描线性条形码时的精度。

  • 新的多线程处理可以提高1D条形码的扫描精度。

  • 添加了新的API,你可以指定页码、条形码区域、条形码宽度、条形码高度、条形码模块大小和条形码角度来进行条形码检测。这大大提高了解码工作和条形码读取的效率。

未发布 矢量图形引擎库VectorDraw Developer Framework发布v7.7014.0.5
by Harriet666 keys 分享 1517214900113
VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。
 
VectorDraw Developer Framework试用版下载>>>
 
VectorDraw Developer Framework(VDF)v7.7014.0.5更新内容:

WebJS

新增需求(7.7014.0.1)
  • 70001215 MergeDocument方法支持使用mergeFlags  
新增需求(7.7014.0.5)        
  • 70001249 处理AddBlockFromFile加载
漏洞(7.7014.0.1)
  • 70001204 线路对象捕捉无法运作
  • 70001206 导出到vds脚本时出现异常
  • 70001210 WebGl渲染中的实体影线问题  
漏洞(7.7014.0.5)
  • 70001250 vdConst CloneEntity出现意外
 

Converter

新增需求(7.7014.0.1)
  • 70001217 DGN中unsuported对象的类型
漏洞(7.7014.0.1)
  • 70001212 Textstyle未使用正确的TTF字体导入
漏洞(7.7014.0.5)
  • 70001248 折线的宽度问题
   

Engine

新增需求(7.7014.0.3)
  • 70001231 改进触摸控制
  • 70001234 使用Wrapper检查鼠标是否位于ViewCube内部
  • 70001239 是否可以在OnFilterOsnap事件中获取交集对象
  • 70001241 用webGl 3d模式绘制线条和文本
漏洞(7.7014.0.3)
  • 70001235 版本2000中的DXF导出问题
  • 70001236 在Wire2D模式下,线路抗锯齿功能无法正常工作
  • 70001237 鼠标没有正确渲染
  • 70001238 vdLayout调整大小将引发异常
  • 70001240 AlignToView对象在PDF输出中缩放
  • 70001242 导出多边形为dwg dxf文件格式时出错
漏洞(7.7014.0.4)
  • 70001243 不完整的纸张模型刷新
  • 70001245 当VectorDrawBaseControl WndProc被调用时,出现间歇性崩溃
未发布 MailBee.NET Objects撰写邮件教程(一):添加和删除自定义标题
by Harriet666 keys 分享 1501488557962
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
MailBee.NET Objects介绍和试用点击查看>>>
 
本文主要介绍了如何添加和删除自定义标题的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

在新邮件中添加自定义标题,可以使用一下代码:
C#
// Create a MailMessage object.
MailMessage msg = new MailMessage();

// Add a header.
msg.Headers.Add("MyHeader", "Some value for my own header", false);

VB.NET
' Create a MailMessage object.
Dim msg As New MailMessage()

' Add a header.
msg.Headers.Add("MyHeader", "Some value for my own header", False)

你可以指定标题的名称和值,如果邮件中已经存在标题,也可以指定是否重写。当覆盖参数设置为true并且具有相同名称的标题已经存在时,它将被覆盖;否则,将添加具有相同名称的另一个标题。
开发人员还可以轻松地从邮件中删除所有自定义标题:
C#
// Remove the non-standard headers from the message.
msg.Headers.RemoveCustomHeaders();

VB.NET
' Remove the non-standard headers from the message.
msg.Headers.RemoveCustomHeaders()
此方法可以删除标准的标题以外的所有标题。你可以在RemoveCustomHeaders方法描述中找到标准标题列表。另一种方法是使用Remove或RemoveAt方法,也能够指定要删除的标题:
C#
// Remove the specified header.
msg.Headers.Remove("X-Special-Header"); 

// Remove the first header.
msg.Headers.RemoveAt(0);

VB.NET
' Remove the specified header.
msg.Headers.Remove("X-Special-Header") 

' Remove the first header.
msg.Headers.RemoveAt(0)

 近期热门 - 点击最多
  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. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  2. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  3. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  4. Node.js 打印vite react+go项目目录树
  5. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  6. Windows与Mac通过git ssh和rsync实现文件共享互传
  7. Windows与Mac通过git ssh和scp实现文件共享互传
  8. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  9. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件
  10. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别

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

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

OnceOA