未找到

未发布 多比图形控件教程:基于Flex/Javascript的网页绘图控件
by Harriet666 keys 分享 1491037615492

1.概述

多比矢量图控件是一个在Web上绘图的组件,适用于需要在网页中/编辑流程图、图表、网络图和普通矢量图形的Web应用程序组件。多比控件提供充分的编程接口,可以非常容易的和ASP.NET、JavaWeb技术集成。

最新多比图形控件(Web)v3.5点击下载>>>

1.1 技术特征

多比矢量图控件采用最新的AJAX技术,他以Flex和Javascript为基础,可以很方便的在网页中展现绚丽的矢量图形。相比传统的技术,多比矢量图控件有以下的突出优点。

  • l 只需要安装Flash播放器,不需要其他第三方插件, 不依赖任何插件供应商。很多国有企业、政府部门、军工企业,由于安全性等原因,环境往往不能安装浏览器插件。
  • l 标准的Web技术,非常容易和Java或.NET集成。
  • l 可扩展,可修改,可配置。和ActiveX控件不同,多比控件很容易修改和扩展,只需要很少的脚本代码,就可以实现和默认行为不一样的功能。

1.2 应用领域

多比图形控件是一款基于Web的矢量图形控件, 类似于网页上的Visio控件,是目前国内外最佳的基于web的工作流设计器、工作流流程监视器解决方案。 可广泛应用于包括:电力、军工、煤炭、化工、科研、能源等各种监控软件、web工作流设计器、asp.net工作流设计器、电力、化工、煤炭、工控组态软件、仿真、地理信息系统、工作流、复杂报表 工业SCADA系统、ERP流程设计系统、图形管理、图形拓扑分析、GIS地理信息系统系统、工程制图等领域。目前已经为全球20多个国家的数千家客户采用。

1.3运行一下例子

首先, 你需要到多比的官方网站上下载最新版的多比控件。你可以直接到这个链接下载 http://www.duobee.com/Page-d-key-visio_download

下载完成后,你需要将现有的包解压,并且发到IIS或者TOMCAT下的某个目录,然后通过http://localhost/download/testing这种方式打开。 请不要直接双击打开(file:///),这种方式将导致flash文件加载不正确。

未发布 屏幕录制软件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开始处插入空白的幻灯片,这样当播放时点击空白幻灯片后,真正的第一页幻灯片就可以录制到了。
未发布 Linux/UNIX管理工具Xmanager发布v6 Beta版,新增主密码加密功能
by Harriet666 keys 分享 1510736305135
Xmanager是市场领先的PC X服务器,它能够带来Windows平台下强力的虚拟应用技术。使用Xmanager,能够使安装在远程的基于UNIX系统的X应用程序与一般的Windows应用程序完全一样。它提供了一个强大的会话管理控制台、易于使用的X应用程序启动器、X服务器概要文件管理工具、SSH模块和用于安全访问的远程高性能PC X服务器及虚拟化的UNIX/Linux环境。
 
Xmanager v6 Beta最新版下载>>>
 
Xmanager v6 Beta更新内容
会话管理器
在版本6中,我们对Xmanager的界面做了一些直观的改变。最大的变化是在Xmanager中直接引入了会话管理器面板,用户可以轻松地创建、编辑和删除会话文件。现在,会话管理的所有方面以及同时启动多个会话的功能都可以通过会话管理器在Xmanager中访问。此外,每个文件夹和会话类型现在都有自己的选项卡,功能一目了然。

 
使用主密码增强加密功能
用户可以将用户定义的字符串设置为主密码来加密会话文件密码。设置主密码后,会话文件密码将不可用,除非输入正确的主密码。这可以保护用户的密码,即使会话文件泄露给未经授权的用户。
另外,如果不同的PC使用相同的主密码,则可以使用相同的会话文件。这在使用云共享会话的环境中非常有用。
主密码以前在Xshell 5中可以找到,现已扩展到版本6中的全系列软件。主密码加密用于连接服务器的密码,用户密钥的密码和密码包含在会话文件中的字符串。
 
支持SSH PKCS#11
PKCS#11协议使用户能够使用硬件令牌(HSM)安全地存储私钥,以提高安全性。
 
主题选择
您现在可以根据需要选择Xmanager的颜色和整体主题。
未发布 扫描识别工具Dynamic Web TWAIN使用教程:建立一个“Hello World”扫描页面
by Harriet666 keys 分享 1511504073281
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
 
本文教你Dynamic Web TWAIN中只需3个步骤在5分钟内创建一个Web扫描应用程序的方法!
 
注意:开始之前,请确保您已经下载并安装了最新版本的Dynamic Web TWAIN。如果还没有安装,请在这里下载Dynamic Web TWAIN最新版

步骤一:启动一个Web应用程序

1.1 将Dynamsoft的Resources文件夹复制到您的项目中
Resources文件夹通常在C:\Program Files (x86)\Dynamsoft\Dynamic Web TWAIN SDK {Version Number} {Trial}\
image003
 
1.2 创建一个空的HTML页面
请将空的html页面与Resources文件夹放在一起,如下所示:
image004
 
步骤二:将Dynamic Web TWAIN添加到HTML页面
2.1 包含两个Dynamsoft JS文件
 
2.2 添加一个Dynamic Web TWAIN容器
1
<div id="dwtcontrolContainer"></div>
 
注意: “dwtcontrolContainer”是div的默认ID。如有必要,您可以在文件dynamsoft.webtwain.config.js中更改它。
 
步骤三:使用Dynamic Web TWAIN
3.1 添加一个扫描按钮和最小的脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<input type="button" value="Scan" onclick="AcquireImage();">
<script type="text/javascript" data-filtered="filtered">
    var DWObject;
    function Dynamsoft_OnReady(){
        DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
    }
    function AcquireImage(){
        if(DWObject) {
            DWObject.IfDisableSourceAfterAcquire = true;
            DWObject.SelectSource();
            DWObject.OpenSource();
            DWObject.AcquireImage();
        }
    }
</script>
 
3.2 查看完成的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<title data-filtered="filtered">Hello World</title>
<script type="text/javascript" src="Resources/dynamsoft.webtwain.initiate.js" data-filtered="filtered"> </script>
<script type="text/javascript" src="Resources/dynamsoft.webtwain.config.js" data-filtered="filtered"> </script>
 
 
<input type="button" value="Scan" onclick="AcquireImage();">
<div id="dwtcontrolContainer"> </div>
<script type="text/javascript" data-filtered="filtered">
        var DWObject;
        function Dynamsoft_OnReady(){
            DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
        }
        function AcquireImage(){
            if(DWObject) {
                DWObject.IfDisableSourceAfterAcquire = true;
                DWObject.SelectSource();
                DWObject.OpenSource();
                DWObject.AcquireImage();
            }
        }
    </script>
 
3.3 查看正在运行的扫描页面
如果你打开项目中的Hello World页面,它应该是这样的:
image005
 
现在,您可以点击“扫描”按钮选择一个设备,如下所示:
image006
 
注意:
  • 选择来源对话框中只列出了TWAIN兼容设备。如果连接的扫描仪没有显示在列表中,请按照这篇文章排除故障。
  • 如果您手边没有扫描仪,则可以安装虚拟扫描仪 - 由TWAIN工作组开发的扫描仪模拟器 - 用于测试目的。

扫描完成后,图像将显示在内置的Dynamic Web TWAIN查看器中:
image007
 
如果您安装了Dynamic Web TWAIN的30天试用版,您可以在C:\Program Files (x86)\Dynamsoft\Dynamic Web TWAIN SDK {Version Number} {Trial}\Samples\Getting Started\获取完整的Hello World应用程序。
image008
 
本次教程到此结束,希望能对Dynamic Web TWAIN的用户带来帮助,接下来还会有更多的相关教程,敬请期待!
未发布 图像工具包VintaSoftImaging.NET SDK更新至v8.4,新增处理、打印图像等相关功能
by Harriet666 keys 分享 1491470874865

VintaSoftImaging.NET SDK是一个为.NET开发人员开发的,强大而易于使用的图像工具包。它可以让你加载、查看、处理、打印和保存数字图像,可将它们转换为不同的图像格式,可用多种TIFF和动态GIF文件提高您的工作效率。

VintaSoftImaging.NET SDK最新版点击下载>>>

VintaSoftImaging.NET SDK v8.4更新内容:


网页图像查看器:

  • 创建了在ASP.NET中渲染图像和缩略图的Web服务:
    ▫ 在ASP.NET MVC中创建了用于渲染图像和缩略图的Web API控制器。
    ▫ 创建了在ASP.NET中渲染图像和缩略图的HTTP处理程序。
    ▫ 创建了在ASP.NET中渲染图像和缩略图的WCF服务。
  • 创建了使用JavaScript编写的HTML5控件,用于在HTML5中查看图像和缩略图。
  • 创建了使用JavaScript编写的SVG控件,用于在HTML中查看图像和缩略图。
  • 删除了ASP.NET Web控件。必须使用HMTL5或SVG控件来替代被删除的ASP.NET Web控件。
  • 增加了在Web图像查看器中将正交旋转应用于图像中的能力。
  • 增加了在Web缩略图查看器中将正交旋转应用于缩略图中的功能。
  • 增加了在缩略图视图中为缩略图添加字幕的功能。
  • 增加了在服务器上没有缓存图像的情况下查看图像和缩略图的功能。
     

在ASP.NET中处理图像:

  • 在ASP.NET中创建了处理图像的Web服务。
  • 在ASP.NET MVC中创建了用于处理图像的Web API控制器。
  • 在ASP.NET中创建处理图像的HTTP处理程序。
  • 在ASP.NET中创建了处理图像的WCF服务。
  • 创建了一组JavaScript来简化Web服务器的工作。
     

在ASP.NET中打印图像:

  • 在ASP.NET中创建了用于打印图像和PDF文档的JavaScript类。

演示应用:

  • 创建了AspNetDemos项目,包括所有ASP.NET WebForms的演示。
  • 创建了AspNetMvcDemos项目,包括所有ASP.NET MVC的演示。
  • 其他小的修复和改进。
本文作者慧都Elyn
未发布 MySQL的查询优化方法及原理详解丨附下载
by Harriet666 keys 分享 1493956179760
关于MySQL的查询优化方法大家应该都知道一些:不使用NULL字段、为字段选择合适的数据类型、合理创建索引、不能使用SELECT *等等,但是你真的理解了这些优化方法了吗?它们的工作原理是什么?在实际运用中性能可以得到提升吗?其实未必。如何合理运用这些优化方法的前提是理解其中原理,希望本文能给你一定的帮助。
 
开源数据库MySQL v5.7最新版下载>>>
 

MySQL逻辑架构 

如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。

 

MySQL逻辑架构

MySQL逻辑架构整体分为三层,最上层为客户端层,并非MySQL所独有,诸如:连接处理、授权认证、安全等功能均在这一层处理。 
 
MySQL大多数核心服务均在中间这一层,包括查询解析、分析、优化、缓存、内置函数(比如:时间、数学、加密等函数)。所有的跨存储引擎的功能也在这一层实现:存储过程、触发器、视图等。 
 
最下层为存储引擎,其负责MySQL中的数据存储和提取。和Linux下的文件系统类似,每种存储引擎都有其优势和劣势。中间的服务层通过API与存储引擎通信,这些API接口屏蔽了不同存储引擎间的差异。 

点击查看完整文章>>>

未发布 今年最新的30个Android库,你了解吗?
by Harriet666 keys 分享 1508476743851


Android开发技术越来越成熟,Android开发工具当然也层出叠现。本文就向大家介绍今年最新的深受开发者喜爱的30个Android库。希望对你的Android开发工作能起到助力。

1.MaterialStepperView

它是用Material Design实现Steppers的。
 
目前,Stepper只有垂直视图,但将来会有更多的风格。你可以尝试一下,如下图:
你可以自定义normal/active两个状态的颜色,完成图标,开启动画并设置动画时长。可通过Github上的设置项和样式查阅所有设置项。该库支持API 17+,详情请查阅wiki文档。
 

2. MultiSnapRecyclerView

这是分屏滚动的Android库。
MultiSnapRecyclerView为RecyclerView提供了分屏功能。
 
目前提供的功能有:
  • start, end和center三个位置的吸附, 
  • snap count 指定要分屏的数量, 
  • 支持水平和垂直分屏, 
  • 滚动时的回调。 


3. Garland View for Android

该库可实现如下的布局:
 
GarlandView 外部是一个水平滚动的视图,视图内的每一个子视图可垂直滚动。
你可以在README中找到其他重要信息。还有一个示例App。该库支持API 19及更高版本。


4. VegaLayoutManager

这是一个自定义的布局管理器——滚动时缩小并淡出头部。这是受到Dribble项目的启发。
 

5. ExpandableLayout

这个库的名字不言而喻,它是一个基于LinearLayout的可扩展的布局。
README里含有你启动时需要的所有信息,另外,还有一个示例App可以帮助你快速跳转到代码中。


6. SwipeBackLayout

SwipeBackLayout允许你使用手势返回上一个界面。
你可以设置滑动方向,如从左到右、从右到左、从顶部到底部、从底部到顶部。
你还可以设置是否只能从边缘滑动。

SwipeBackLayout只能包含一个子布局,例如:
  • LinearLayout,RelativeLayout,FrameLayout,TableLayout等。
  • ScrollView,HorizontalScrollView,NestedScrollView等。
  • RecyclerView,AbsListView(ListView)等子类。
  • ViewPager,WebView等。
该项目里面有一个详细说明的文档、示例APP和一个APK。


7. SmartCropper

这是一个可以智能剪裁图像的库,可以识别边框并修正裁剪后的图像,适用于身份证、名片、文件等其他图片文件的裁剪。

 
特征:
  • 以智能的方式裁剪图片,还可以识别边框;
  • 支持拖动、放大效果以提升定位体验;
  • 使用透视变换裁剪,可以修正先前裁剪的图片;
  • 支持多种UI设置,如辅助线、蒙版、设置锚点、放大等效果。
目前,此库采用优化点算法,CropImageView具有选择放大效果,而且它可以使用CropImageView XML来进行设置。


8. Date Range Picker

Date Range Picker是具有改进UI的自定义日期范围选择器。

项目的简介写得很好,易于理解。


9. StoriesProgressView

我们都知道Facebook和Instagram展现在他们App上的Stories ,这是介绍StoriesProgressView的一个库,它可以扩展LinearLayout和允许你添加以下视图。
 
该项目包含一个简短但详细的README以及示例App。


10. CosmoCalendar

这是一个可以自定义日历的库,它可以提供很多功能和UI设置,例如:
  • 改变日历方向;
  • 自定义文本颜色;
  • 设置类型和颜色;
  • 定义导航按钮等;
  • 还有很多其他功能;

 

11. Reflow Text Animator

相信大家都听过Plaid app,这是由Shazam工程团队开发的。
它是Plaid’s ReflowText的端口,无论它们的大小或风格怎样,都可以轻松地在同级的TextView之间进行转换。
这个库很容易使用,快去试试吧!
 

12. AdaptiveIconPlayground

这不是一个库,而是由Nick Butcher开发的用于试验自适应图标的AndroidApp。根据README:
此应用程序可以从已安装的App中查找支持自适应图标的App,并将其显示在网格中,然后你可以切换不同的蒙版形状以匹配不同设备的显示效果。
目前提供两种视觉效果:
  • 滚动效果;
  • 触摸时的尺寸缩放视差效果;
 

13.Tivi

Tivi是跟踪电视节目的App,它与Track.tv相连接,它的开发者是Chris Banes,虽然这项开发工作仍在进行中,但它使用的都是最前沿的组件、库和工具,其中包括Kotlin、RxJava 2、所有架构组件(Room,LiveData和Lifecycle-components)。


14.RxIdler

这是Espresso的IdlingResource
它的开发者是 Square Engineering
它支持RxJava 1 和 RxJava 2,祝你用得愉快!


15.MRichEditor

这是一个丰富的文本编辑器(基于summernote)。
它支持多种功能,包括粗体、斜体、下划线、快捷键、标题(包括六级标题)、段落、引用,有(无)序列表、代码、水平规则、链接、图像,对齐方式(居中、两端对齐、左对齐、右对齐)、下标、上标、字体名称和大小、缩进、减少缩进、撤消/还原。

在这种情况下,你需要仔细观察示例App,因为它几乎没有文档供你参考。


16.Android Clean Architecture Boilerplate

Buffer团队和Joe Birch开发的示例App展示了一种Android应用程序的干净架构。
创建此样板的原因:
实验模块化;
分享一些干净架构实现方式;
一开始采用干净架构能应对未来复杂的项目需求。
该项目的UI和单元测试都是用Kotlin编写。
它的文档里有详尽的介绍,非常适合想学习的开发者,力荐!


17.RxJava2Debug

使用过RxJava会发现有时很难读取异常,很难在Rx流中定位到问题。这就是为什么这个库被创建的原因。你可以在README中阅读更多关于的内容。
这个库的功能有:
  • 生成堆栈轨迹
  • 过滤堆栈轨迹


18. Resizer

Resizer是一个轻量级的,而且易于使用的Android库,用于图像缩放。它允许你将图像文件放大或缩小的同时,保持宽高比。
这个项目的灵感来自于Compressor。
说明书:
Minimum SDK: API 21
默认设置:
  • targetLength: 1080
  • quality: 80
  • outputFormat: JPEG
  • outputDirPath: the external files directory of your app
支持的输入格式:
  • BMP
  • GIF
  • JPEG
  • PNG
  • WEBP
支持的输出格式
  • JPEG
  • PNG
  • WEBP
支持的图像质量范围:0~100
  • 值越大,图像质量越好同时图片越大
  • PNG,无损格式,会忽略该设置


19.FaceDetector

该库允许你在相机里预览图片时,实时检测人脸。它与Fotoapparat库非常相似,但它也支持其他相机库和源。
它的使用过程十分简单,而且项目记录相当详细。
 

20.RxGps

它的开发者是Florent Champigny,它很容易找到我们各自的定位。
它兼容RxJava2,它还自动申请GPS的运行权限,并查看当下的服务是否适合您。


21. MapMe

MapMe是一个搭配地图功能使用的Android库。
MapMe将适配器模式带到Maps,简化了标记和注释的管理。
MapMe与Google Maps和Mapbox配合使用,README 里的内容很详细,而且它是用Kotlin编写的。


22. RevelyGradient

该库用于颜色渐变管理。
您可以用Java或Kotlin编写它,项目附带的说明文档很简短,但足够你能够使用它。


23. LiteUtilities

这是一个用Kotlin编写的库,它有助于从代码中消除样板。目前它的功能有:
  • RecyclerUtils—— 省去设置适配器的麻烦,现在只需4行代码就可以设置好适配器。
  • ScrollUtils—— 使用RecyclerView或NestedScrollView时,可以以轻松隐藏/滚动显示FloateActionButton。
  • ToastUtils—— 用于创建toasts。
  • SPUtils—— 用于共享选项的简单DSL。
  • ValidatorUtils—— 可以快速而轻易地进行文本检验。
  • LogUtils—— 简单易用的Android日志记录。


24.KOIN

KOIN是一个使用Kotlin来编写的依赖注入框架,它的功能是能够推动做事的进度。
据作者介绍,它
  • 没有代理/ CGLib
  • 没有代码生成
  • 没有内省
它的说明文档写得很棒,有示例和wiki,还有联系方式。


25.koptional

是那些总试图让自己的安全系统更加顺畅的Kotlin极简主义者的理想选择。
作者给出的理由是:
由于具有空值安全特性,Kotlin不需要可选值类型。但是有 RxJava2 这样的 APIs 和库不接受空值导致 Kotlin 仍然需要支持可选值类型。
大多数情况下可以使用sealed class来表示空值,然而像向 Rx 流传递String?这种情况,可选值类型是更好的选择。


26. Parallax

这是一个模拟Apple TV 视差图标的库。
它的README写得非常好,值得一试。


27.droid-vizu

Droid-vizu旨在通过轻松交换渲染器来获得酷炫效果,从而提供定制的可视化效果.
 

28.Drone

这不是Android库,而是由CésarFerreira提供的库的管理者。它是由于对java社区的嫉妒,因为他们的快速可靠的依赖管理器。因此,您只需执行以下操作:谷歌搜索一个库,检查,阅读文档等。
drone add creator/library module
例如:
drone add jakewharton/butterknife
 

29.From-design-to-Android-part2

这是一个涵盖在Android上创建整洁UI的项目。这一次,SaúlMolinero涵盖:
  • 使Alex Lockwood的ShapeShifter工具
  • AndroidVectorDrawables
  • ScaleDrawables
  • 自适应图标等。
 

30.Reagent

Reagent是Jake Wharton总结的未来响应式库的体验。
【干货】扫描识别控件Dynamic Web TWAIN在线示例汇总
by Harriet666 keys 分享 1509086706928
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存为多种格式,用户可保存图像到远程数据库或者SharePoint。这个TWAIN控件还支持上传和处理本地图像。
 
Dynamic Web TWAIN能够在所有主流浏览器上面进行网页扫描。兼容 Firefox, Mozilla , Chrome , Safari , Opera以及其他的浏览器;目前主要有三个版本:ActiveX, Plugin 和 Mac。
 
本文为大家整理了Dynamic Web TWAIN在线示例,欢迎收藏!
 
Dynamic Web TWAIN在线示例Demo>>>
Dynamic Web TWAIN示例:扫描文档和读取条形码
Dynamic Web TWAIN示例:上传文件并执行服务器端OCR
Dynamic Web TWAIN示例:扫描驱动程序许可证和提取信息
Dynamic Web TWAIN示例:使用jQuery扫描高级查看器的文档
Dynamic Web TWAIN示例:扫描文档并执行服务器端OCR
Dynamic Web TWAIN示例:用扫描仪和网络摄像头捕获图像
Dynamic Web TWAIN示例:使用Thumbnails View扫描文档
Dynamic Web TWAIN示例:使用条形码分离器自动进行文档分类
Dynamic Web TWAIN示例:全功能演示
Dynamic Web TWAIN示例:扫描文件并上传到文件系统

 Dynamic Web TWAIN v13.1最新版下载>>>

未发布 【示例教程】如何使用LEADTOOLS图像标注控件在界面上对图像进行标注
by Harriet666 keys 分享 1511343290477
leadtools对图像和文档提供了多种类型的标注,允许用户通过图形界面或者后台代码进行插入。本教程将按照步骤分享如何使用图像标注控件在界面上对图像进行标注。
 
Leadtools 19总套包下载>>>

1.创建VS项目

在VS中创建winform项目,创建完成后需要确认使用的.NET版本以及编译的目标平台。本例采用.NET4.0和X86平台进行编译。

 
2.引用接口dll

需要引用的dll列表如下,可以在C:\LEADTOOLS 19\Bin\Dotnet4\Win32找到。
主界面Form1代码中添加引用
using System.Windows.Forms;
using Leadtools;
using Leadtools.Codecs;
using Leadtools.WinForms;
using Leadtools.Annotations;

3.主界面添加相关控件

在设计界面添加一个MenuStrip菜单
添加按钮用以打开文件;
添加下拉框,包括2个选项:标注模式和浏览模式

 
4.后台代码编写

4.1控件初始化相关代码
添加相关对象
        RasterImageViewer viewer = new RasterImageViewer();
        RasterImage img;
        AnnAutomationManager annger;
        AnnAutomation automation;

添加initControl()方法,用于初始化图片浏览控件以及标注相关控件,在Form1()构造函数中调用该方法
private void initControl() {
            Support.SetLicense();
            viewer.Dock = DockStyle.Fill;
            panel1.Controls.Add(viewer);
            viewer.HorizontalAlignMode = RasterPaintAlignMode.Center;
            viewer.VerticalAlignMode = RasterPaintAlignMode.Center;
            loadImage("qwe.jpg");
            if (viewer.Image != null)
            {
                // create and setup the automation manager 
                annger = new AnnAutomationManager();

                // Instruct the manager to create the default (all) automation objects. 
                annger.CreateDefaultObjects();

                // create the toolbar and add it to the form 
                annger.CreateToolBar();
                Controls.Add(annger.ToolBar);

                // setup the automation (will create the container as well) 
                automation = new AnnAutomation(annger, viewer);

                // add an event handler for changes to the current designer 
                automation.CurrentDesignerChanged += new EventHandler(automation_CurrentDesignerChanged);

                // setup this automation as the active one 
                automation.Active = true;
            }
            toolStripComboBox1.SelectedIndex = 0;
        }
 
4.2添加加载图像方法
private void loadImage(string filename)
        {
            img = new RasterCodecs().Load(filename);
            viewer.Image = img;
        }
4.3添加automation_CurrentDesignerChanged方法
private void automation_CurrentDesignerChanged(object sender, EventArgs e)
        {
            AnnAutomation automation = sender as AnnAutomation;
            AnnButtonRunDesigner buttonRunDesigner = automation.CurrentDesigner as AnnButtonRunDesigner;
            if (buttonRunDesigner != null)
                buttonRunDesigner.Run += new EventHandler(buttonRunDesigner_Run);
        }
4.4添加buttonRunDesigner_Run方法
private void buttonRunDesigner_Run(object sender, AnnRunDesignerEventArgs e)
        {
            if (e.OperationStatus == AnnDesignerOperationStatus.End)
            {
                AnnButtonObject btn = e.Object as AnnButtonObject;
                MessageBox.Show(string.Format("Button with text = {0} was clicked!", btn.Text));
            }
        }
4.5添加打开文件按钮事件方法
private void loadImage(string filename)
        {
            img = new RasterCodecs().Load(filename);
            viewer.Image = img;
        }
4.6添加模式下拉框选项改变事件方法
private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            annger.UserMode = (toolStripComboBox1.SelectedIndex == 0) ? AnnUserMode.Design : AnnUserMode.Run;
        }

5.编译运行

演示程序界面如下图所示
未发布 7个最新的实用性 JavaScript MV*框架
by Harriet666 keys JavaScript 1487317434712
JavaScript是目前web上最受欢迎的编程语言之一。最初它并不是很受欢迎,因为它不是为服务器端编程而设计的。JavaScript主要作用于设计用户界面,许多开发人员特别是经验丰富的专业人士认为它比较适合缺乏经验的新手使用。随着用户体验成为Web开发中一个重要的组成部分,JavaScript的人气也开始增加。有一些框架有助于构建JavaScript应用程序,其中MV *是可以构建MVP和MVVM模式的框架。点击查看7个最新的实用性 JavaScript MV*框架>>>

 近期热门 - 点击最多
  1. ZOT 极简而强大的 Docker OCI 镜像仓库
  2. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Node.js 打印vite react+go项目目录树
  5. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  6. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  7. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  8. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  9. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  10. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别

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

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

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

OnceOA