未找到

未发布 【示例教程】如何用leadtools创建一个OCR驱动的计算器
by Harriet666 keys 分享 1519808939687

Leadtools 19总套包下载>>>

日常工作和业务中会有一些图片中的计算公式等需要计算,这个代码片断显示了LEADTOOLS OCR可以用来检测、识别和执行简单的数学命题,如“2 + 2”。
static void SimpleOCRCalculator(string filePath)
      {
         RasterCodecs codecs = new RasterCodecs();

         RasterImage image = codecs.Load(filePath);

         string[] calculations;
         using (IOcrEngine engine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
         {
            engine.Startup(null, null, null, null);
            IOcrPage page = engine.CreatePage(image, OcrImageSharingMode.None);

            page.AutoZone(null);
            page.Recognize(null);

            calculations = new string[page.Zones.Count];

            for (int i = 0; i < page.Zones.Count; i++)
            {
               calculations[i] = page.GetText(i);
            }

            engine.Shutdown();
         }

         Dictionary<string, Action<double, double>> operands = new Dictionary<string, Action<double, double>>();
         operands.Add("+", new Action<double, double>(delegate(double a, double b) { double ans = a + b; Console.WriteLine("{0} + {1} = {2}", a, b, ans); }));
         operands.Add("-", new Action<double, double>(delegate(double a, double b) { double ans = a - b; Console.WriteLine("{0} - {1} = {2}", a, b, ans); }));
         operands.Add("x", new Action<double, double>(delegate(double a, double b) { double ans = a * b; Console.WriteLine("{0} * {1} = {2}", a, b, ans); }));
         operands.Add("/", new Action<double, double>(delegate(double a, double b) { double ans = a / b; Console.WriteLine("{0} / {1} = {2}", a, b, ans); }));

         for (int i = 0; i < calculations.Length; i++)
         {
            string equation = Regex.Replace(calculations[i], @"\n|\r| ", "");
            string[] ops = new string[] { "+", "-", "x", "/" };

            for (int j = 0; j < ops.Length; j++)
            {
               int index = equation.IndexOf(ops[j]);

               if (index > 0 && index < equation.Length)
               {
                  string op1 = equation.Substring(0, index);
                  string op2 = equation.Substring(index + 1);

                  double arg1 = double.Parse(op1);
                  double arg2 = double.Parse(op2);

                  operands[ops[j]](arg1, arg2);

                  break;
               }
            }
         }

         codecs.Dispose();
         image.Dispose();
      }

 

用于测试的图像如下。

resource

未发布 VintaSoftTwain.NET SDK更新至v10.2发布,增加Visual Studio .NET 2017演示丨附下载
by Harriet666 keys 分享 1495183414620
VintaSoft Twain .NET SDK是专业的图像采集库,可以使用Microsoft .NET Framework来控制平板和ADF扫描仪,web和数码相机以及任何其他TWAIN兼容设备。
 
【VintaSoft Twain .NET SDK最新版点击下载>>>】
 
VintaSoft Twain .NET SDK v10.2更新内容:
  • 新的Vintasoft.Twain.Web.Services.dll程序集,其中包含一个独立的Web服务,用于与TWAIN设备配合使用。该Web服务能够为任何.NET兼容的Web平台(例如ASP.NET WebForms、ASP.NET MVC、ServiceStack)快速创建其他Web服务。
  • 新的Vintasoft.Twain.Web.Api2Controllers.dll程序集,其中包括用于在ASP.NET MVC 5中与TWAIN设备配合使用的Web API 2控制器。
  • 已验证Vintasoft.Twain.js的JavaScript代码与jQuery 2和3的兼容性。
  • 现在,VintaSoft Web TWAIN解决方案可用于安全的HTTPS服务器:
    · VintaSoft Web TWAIN服务(VintasoftWebTwainService项目)可以同时提供HTTP和HTTPS请求。
    · VintaSoft ASP.NET MVC TWAIN演示(AspNetMvcTwainDemos项目)可以在HTTP和HTTPS服务器上使用。
  • 新增Visual Studio .NET 2017演示项目。

未发布 矢量图形引擎库VectorDraw Developer Framework v7.7011.0.1发布
by Harriet666 keys 分享 1490841123648

VectorDraw Developer Framework

VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。

VectorDraw Developer Framework(VDF)更新至v7.7011.0.1,新版本针对提出的需求和bug做了调整和优化。

VectorDraw Developer Framework点击下载>>>

WebJS

新增需求

版本需求

7.7011.0.1    

70001006 支持webgl渲染模式的webgl图像
70001016 支持webgl节剪辑
70001019 支持使用scriptCommand hatch绘制阴影边框                                  
70001024 使用鼠标进行缩放
70001029 实体选择回调

Converter

新增需求

版本需求
7.7011.0.1    70001015 具有相同名称的vdXproperties导出不正确                                      

漏洞

版本漏洞
7.7011.0.1    70001009 DXF代理对象读取出错
70001020 某些DWF文件未正确打开   
70001025 DGN Xrefs的问题
70001033 Layout paper未正确初始化                                                               

vdDXF

漏洞

版本漏洞
7.7011.0.1    70001011 HANDLE类型的XProperty在DXF中未正确导出                              

Engine

新增需求

版本需求
7.7011.0.1    70001008 改进ClearEraseItems方法的速度
70001012 MergeSelection方法用于传递对象的GUIDs                                     
70001027 虚拟机中的OpenGL问题
70001034 能够设置UCS图标字母的颜色

漏洞

版本漏洞
7.7011.0.1    70001007 当文本具有斜角时,EditText和AddText命令不会正确显示光标           
70001010 点上的多点折线未正确显示
70001013 Inserts Inside Blocks层是处于ON状态时仍不可见
70001014 图层组和滤镜在删除后仍会保存到DXF中
70001017 图像在nonused Block中使用时会被删除
70001018 线型折线显示不正确
70001021 RenderToGraphics和RenderToDC会清除目标图形上下文的背景
70001022 尺寸对象未正确导入PDF
70001026 在vdraw Idle中很少会随机出现exeption
70001030 Bhatch命令为创建的polyhatch添加白色作为fillcolor
70001031 用户选择部分文字的拉伸命令会出现错误
70001032 vdMtext对象没有对齐

 【本文作者慧都Elyn

未发布 7个最新的实用性 JavaScript MV*框架
by Harriet666 keys JavaScript 1487317434712
JavaScript是目前web上最受欢迎的编程语言之一。最初它并不是很受欢迎,因为它不是为服务器端编程而设计的。JavaScript主要作用于设计用户界面,许多开发人员特别是经验丰富的专业人士认为它比较适合缺乏经验的新手使用。随着用户体验成为Web开发中一个重要的组成部分,JavaScript的人气也开始增加。有一些框架有助于构建JavaScript应用程序,其中MV *是可以构建MVP和MVVM模式的框架。点击查看7个最新的实用性 JavaScript MV*框架>>>
未发布 【FAQ合集】TWAIN扫描识别工具Dynamic Web TWAIN的编程代码问题
by Harriet666 keys 分享 1510217364852
Dynamic Web TWAIN中文介绍免费下载资源教程示例DEMO
Dynamsoft

1.如何获取黑白图像?

DWObject.OpenSource();
DWObject.IfShowUI = false;
DWObject.IfDisableSourceAfterAcquire = true;
DWObject.PixelType = EnumDWT_PixelType.TWPT_BW; //Black - White 
image : EnumDWT_PixelType.TWPT_BW, GRAY image: 
EnumDWT_PixelType.TWPT_GRAY, RGB 
image: EnumDWT_PixelType.TWPT_RGB
DWObject.AcquireImage();

2.如何在没有用户界面的情况下运行?

function BeginScan(){
    DWObject.OpenSource();
    DWObject.IfShowUI = false; //set without user interface
    DWObject.IfDisableSourceAfterAcquire = true;

    DWObject.AcquireImage();
}

function DWObject_OnPostTransfer(){
    DWObject.SaveAsBMP("C:\\temp.bmp",0);
}

3.如何只扫描纸张的某一部分?

DWObject.SelectSource();
DWObject.OpenSource();
DWObject.IfShowUI = false;
//Set Image Layout
DWObject.Unit = EnumDWT_UnitType.TWUN_INCHES;
DWObject.SetImageLayout(0, 0, 5, 5);
DWObject.AcquireImage(); 

4.如何在不显示设备选择对话框的情况下选择设备?

DWObject.OpenSourceManager();

for(i = 0, i<=DWObject.SourceCount - 1,i++){
    if (DWObject.GetSourceNameItems(i) == "Specified device name")
        DWObject.SelectSourceByIndex (i);
}

//if can't find the specified source, it'll select default source
DWObject.AcquireImage(); 

5.如何在不使用UI获取图像时禁用进度指示器对话框?

DWObject.IfShowUI = false;
DWObject.IfDisableSourceAfterAcquire = true;
DWObject.OpenSource();
DWObject.IfShowIndicator = false;
DWObject.AcquireImage();

6.如何分别设置水平和垂直分辨率?

DWObject.SelectSource();
DWObject.OpenSource();

//Set XRESOLUTION current value.
DWObject.Capability = 0x1118; //ICAP_XRESOLUTION
DWObject.CapType = 5; //TWON_ONEVALUE
DWObject.CapValue = 300;
if (DWObject.CapSet == false){
    alert( "Failed to set the x-resolution. " + DWObject.ErrorString);
}

//Set YRESOLUTION current value.
DWObject.Capability = 0x1119; //ICAP_YRESOLUTION
DWObject.CapType = 5; //TWON_ONEVALUE
DWObject.CapValue = 200;
if (DWObject.CapSet == false){
   alert( "Failed to set the y-resolution." + DWObject.ErrorString);
}

DWObject.AcquireImage();

7.如何上传到Web服务器?

DWObject = document.getElementById("dwtcontrolContainer");
//dwtcontrolContainer is the id of the Dynamic Web TWAIN on the page (An object or an embed).
function btnScan_onclick() 
{
DWObject.SelectSource();
DWObject.OpenSource();
DWObject.AcquireImage();
}
function btnUpload_onclick() 
{
var strActionPage;
var strHostIP;
var CurrentPathName = unescape(location.pathname); // get current PathName in 
plain ASCII 
var CurrentPath = CurrentPathName.substring(0, CurrentPathName.lastIndexOf("/") 
+ 1); 
strActionPage = CurrentPath + "SaveToFile.aspx"; //the ActionPage's file path
strHostIP = "localhost"; //The host's IP or name 
DWObject.HTTPPort = 80; 
DWObject.HTTPUploadThroughPost(strHostIP,0,strActionPage,"imageData.tif");
if (DWObject.ErrorCode != 0)
alert(DWObject.ErrorString);
else //succeed
alert("Image Uploaded successfully");
}

8.如何使用ADF?希望将每个文档保存在一个单独的文件中。

var iDocumentCounter =0;

function BeginScan(){
    DWObject.OpenSource();

    DWObject.IfShowUI = false;
    DWObject.IfDisableSourceAfterAcquire = true;
    if(DWObject.Duplex != TWDX_NONE)
        DWObject.IfDuplexEnabled = true; //enable duplex

DWObject.IfFeederEnabled = true;
    if (DWObject.IfFeederEnabled == true){
         DWObject.XferCount = -1;

         if(DWObject.IfFeederLoaded == True)
             DWObject.AcquireImage();
    }
}

function DWObject_OnPosttransfer(){
iDocumentCounter = iDocumentCounter + 1;

if(DWObject.SaveAsBMP("C:\\Image\\" + iDocumentCounter + ".bmp", 0) == false)
    alert( DWObject.ErrorString);
}

9.我如何使用SSL?

您可以使用IfSSL属性。下面的JavaScript示例将显示如何使用IfSSL属性。
function btnUpload_onclick() 
{
   DWObject.HTTPPort = 80; 
   DWObject.IfSSL = false; // if 80 is the port number of 
non-secure port

   /* 
   DWObject.HTTPPort = 443; 
   DWObject.IfSSL = true; // if 443 is the port number of secure 
port
   */

   DWObject.HTTPUploadThroughPost("127.0.0.1", 0, 
"/SaveToFile.php", "imageData.jpg");

   if (DWObject.ErrorCode != 0)
      alert(DWObject.ErrorString);
   else //succeed
     alert("Successful");
}

10.如何将新扫描的图像添加到现有的多页TIFF文件中?

function Scan_Click(){
   DWObject.AcquireImage();
}
function DWObject_OnPostTransfer(){
   DWObject.CloseSource();
   DWObject.IfTiffMultiPage = true;
   DWObject.SaveAsTIFF("SaveAsTIFF.tif", 0);
   if (DWObject.ErrorCode != 0)
      alert (DWObject.ErrorString);
   else //succeed
      alert ("Successful");
}

11.如何在保存之前旋转图像?

您可以使用RotateLeft方法和RotateRight方法。

12.如果缓冲区中有多个图像,如何查看指定的图像?

您可以通过更新API CurrentImageIndexInBuffer的值来查看指定的图像或浏览缓冲区中的所有图像。
function NextImage_Click(){
   if (DWObject.HowManyImagesInBuffer == 0) 
   
      alert ("There is no image in buffer");

   DWObject.CurrentImageIndexInBuffer += 1;
}

13.如何进行双面扫描?
function DuplexScan_Click(){
   DWObject.SelectSource();
   DWObject.OpenSource();
   DWObject.IfShowUI = false;
   DWObject.IfDuplexEnabled = true; //enable duplex
   DWObject.AcquireImage();
} 

14.如何以反转颜色扫描图像?

您可以使用PixelFlavor属性。

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

未发布 屏幕录制软件ALLCapture常见问题合集(上)
by Harriet666 keys 分享 1504776846597
ALLCapture是一款实时抓取桌面的屏幕录制软件。实时、快速、轻松地录制屏幕,创建自己的屏幕录像、示例、指南、软件模拟以及无需任何编程的网络视频。制作步骤如此简单:录制-编辑-导出-播放。
ALLCapture
使用ALLCapture遇到了问题?我们的FAQ将帮助你找到答案。

1、我的序列号和注册信息都无法使用?

注册信息包括三部分:“序列号”,“字段 #1”以及“字段 #2”-要成功注册你的软件这些信息都是必须。为了确保你的注册没有任何问题,请从发送给你的邮件中复制注册信息,然后粘贴到相应的注册字段。请参考以下截图。
 

2、ALLCapture对系统的最低要求是?

功能要求
主要功能Windows 98或更高
最低1.2GHzPentium或兼容CPU
256MB内存
50MB可用硬盘
SVGA显卡,256色
对电影或视图截图Windows 2000或更高(文件格式为NTFS)
最低2GHz Pentium或兼容CPU
1GB内存
30GB可用硬盘
专业版SVGA显卡,最低显存256MB
(非集成显卡)
 

3、最大帧速非常慢,我该怎么办?

当ALLCapture显示的帧速小于10FPS(帧每秒)时,要么是显卡不支持要么是驱动过期。用户可用升级电脑的显卡驱动来增加帧速,但是显卡或显卡芯片仍然无法支持。在购买新显卡前我们还是建议先升级显卡驱动。如果驱动升级成功,你可以在ALLCapture中新建一个项目,然后在“录制选项”页中点击“帧速”,然后再点击“刷新帧速最大值”按钮。


4、为什么录制的视频是黑色的一片?

先了解一下处理机制,电影是直接从显卡解码而来,这就是造成黑色一片的原因。Windows只能同时让一个屏幕可用,这样操作系统无法获取在屏幕下面的东西,因此ALLCapture也无法捕捉到。

用户可以通过停用显卡的硬件加速来捕获画面。硬件加速可以从这里找到:“开始>设置>控制面板>显示>设置>高级>疑难解答”,滑动控制条到“没有硬件加速”。


5、为什么ALLCapture没有录制系统声音?

很多笔记本厂商没有配置完整的声卡芯片驱动。这应该是录制驱动识别功能无法识别系统的声卡驱动的原因。对于台式电脑应该安装了提供这个功能的声卡,升级声卡驱动应该可以解决这个问题。
 
如果你使用的是Vista,请查看示例
 

6、我怎样可以把PowerPoint录制为视频?

使用ALLCapture新建一个项目,然后在录制前选择分辨率,例如:800x600像素,打开PowerPoint开始录制,然后开始放映PowerPoint,并立即按下CTRL+SHIFT+P使PPT填充录制窗口,PPT播放完毕即可结束录制,然后剪掉前面的录制让第一页幻灯片的画面为起始页。

提示:如果幻灯片播放太快以至于没有捕捉到第一页ppt画面,你只需在ppt开始处插入空白的幻灯片,这样当播放时点击空白幻灯片后,真正的第一页幻灯片就可以录制到了。
未发布 一体化建模仿真平台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时不保存模型。
  • 编写多个运行结果的数据文件时出现问题(参数扫描)。
  • 未命名节点可以为连续时间块而不是相应的离散块生成指令的问题。
未发布 GIS软件开发包Map Suite v10.2.0发布,支持3D渲染
by Harriet666 keys 分享 1513242946786
Map Suite .NET的地图控件&组件可以为你的.NET定制应用程序添加交互式地图和GIS功能。作为一个.NET软件开发者,你可以使用Map Suite强大的地图API为你的项目添加空间功能,包括交互式的Visual Basic或C#地图、地理编码、空间分析、路由和地理处理等等。Map Suite是你工具箱中不可或缺的一个地图SDK。
 
Map Suite v10.2.0亮点
  • 支持3D渲染和OSM Buildings
  • 增加了对USGS DEM的支持
  • 升级了FdoFeatureSource以支持最新的FDO 4.0库
  • 为所有FeatureSources和FeatureLayers添加了“GetFeatureIds”API
有关任何Map Suite产品版本的增强功能和更改的完整列表,请查看官方ThinkGeo Wiki中的具体更新日志。

未发布 Oracle再次被曝漏洞,影响33万用户
by Harriet666 keys 分享 1517562136241

来自ERPScan公司的安全专家们发现了这个编号为CVE-2018-2636的漏洞。这个漏洞来自Oracle MICROS系统内的销售点(Point-of-Sale)终端,可能被利用来从硬件内无需验证地读取敏感资料。

ERPScan发布的漏洞分析内这样写道:“CVE2018-2636标记了一个Oracle MICROS系统内的文件夹遍历时暴露出的漏洞。如果公司内部有人得到了某个关键文件夹的路径,他就能从一台终端中偷取许多关键的资料,包括服务日志以及一些包含着用户名和密码的信息,甚至可以使用这些密码去连接数据库,获得更多关于服务器端之类的信息。”

“攻击者们能够获得数据库用户名以及哈希过后的密码,将密码暴力破解然后获得数据库内部商业资料的所有权限。而且还有许多不同的利用这个漏洞的攻击方式,导致整个MICROS系统处在危险之中。”

Oracle的MICROS系统在世界范围内拥有超过330000的现金注册用户,涵盖了许多食物卖场(200000+)以及酒店(30000)。

研究者还解释道,对一个本地攻击者来说要获取到MICROS销售点终端的URL路径是很简单的。

例如,他可以找到一个商场的电子秤或者其他使用RJ45点硬件,将其连接到Raspberry PI(树莓派),然后扫描整个内部网络。另一个选项是可以通过这些暴露在因特网上的设备来定位。截止本稿完成之时,共有139个MICROS销售点系统暴露在因特网上,其中大多数位于美国及加拿大。

Oracle33

这并不是MICROS首次遭到质疑,2016年时就曾经有黑客通过客户售后支持中心入侵MICROS系统。

分析报告最后总结道:“如果你想保护你的系统免受网络攻击的危害,你必须持续地保持更新,安装所有安全补丁。在这个案例中,特指Oracle在2018年1月的更新。”

未发布 GIS软件开发工具包TatukGIS Developer Kernel 发布 v11.3.0-Unstable1丨附下载
by Harriet666 keys 分享 1489124965641
TatukGIS Developer Kernel(DK)是一个用于开发自定义地理信息系统(GIS)应用程序以及解决方案的综合性软件开发工具包(SDK)。众所周知,构建一个庞大的地理信息系统需要花费大量的金钱和人力,而TatukGIS却是同类产品中性价比最高的控件,TatukGIS Developer Kernel DK因其功能强大,价格适中,已被超过 50个国家的个人、公司、以及政府等客户用来实现其地理信息系统解决方案。根据不同地首选开发环境,本产品分别以五个独立产品的形式提供(即VCL、.NET/WPF、ActiveX、Compact Framework和ASP.NET),各个产品使用相同的框架、应用程序编程接口(API)技术。

TatukGIS Developer Kernel更新至v11.3.0-Unstable1。Delphi、.NET、ActiveX和ASP.NET版本现已合并,此次更新皆适用于以上版本。

【最新TatukGIS Developer Kernel点击下载>>>】


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

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

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

OnceOA