开门见山,不说废话!Hightopo是由厦门图扑软件科技有限公司独立自主研发,专注于 2D 和 3D 图形界面组件数据可视化领域,用户遍及电信、电力、政府、交通、水利、公安、国防、医疗、金融、科研等行业。提供从 SDK 的 API 组件库到行业图标和三维模型资源库,构成了一站式的数据可视化解决方案。
主打产品 HT for Web(简称HT)是款基于 HTML5 标准浏览器技术、针对监控领域的数据可视化图形组件中间件,用于快速创建和部署,高度可定制化,并具有强大交互功能的拓扑图形及表盘图表等应用。其具有轻量、高效、易用和跨平台等特性,行业丰富的图标和三维模型资源库,一站式的数据可视化解决方案、形成了一整套实践证明的高效开发流程和生态体系,多年来已成为国内电信网管和工业互联网,数据可视化图形组态中间件领域的领导性品牌。
根据现场的 CAD 图、鸟瞰图、设备三视图等资料进行还原外观建模,通过 HT 实现可交互式的 Web 三维场景,可进行缩放、平移、旋转,场景内各设备可以响应交互事件。
HT 工业互联网图形组态可视化,基于纯 HTML5(Canvas/WebGL/WebVR)的标准 Web 技术,满足了工业物联网跨平台云端化部署实施的需求,可快速实现现代化的、高性能的、跨平台的(桌面Mouse/移动Touch/虚拟现实VR)图形展示效果及交互体验。
HT 提供完备流水线作业工具链,从视图组件设计、丰富的图标设计、2D 图纸设计到 3D 场景设计皆有相应可视化,各工具创建的资源可直接共享复用。不仅解决了传统 2D 和 3D 设计分割独立、无法融合一体的痛苦;也解决了传统设计师和程序员使用完全不同的独立设计开发工具,导致设计和最终实现效果不一致且重复劳动的难题,真正实现了 2D 和 3D 无缝融合,设计师和程序员统一工具协同开发模式,达到产品开发的高速迭代,快速将想法变成 2D、25D 和 3D 的最终界面成果。
建立1:1高保真模拟,通过数字工厂三维场景为基础,展现矿业各个生产厂区的建设、运行情况、安全配备以及注意事项,达到逼真震撼的视觉效果。
可以构建现代化的,跨桌面和移动终端的企业应用,无需担忧跨平台兼容性,及触屏手势交互等棘手问题。
很多人想投身游戏行业,成为真正的游戏制作人。但是他们对游戏的制作过程,和各个职位的职能都是比较陌生的。对网页游戏开发也不够了解,游戏到底是怎么制作出来的呢?\x0d\\x0d\网页游戏开发的程序构成分为三大部分:第一是数据流程。第二是美术。第三是程序。\x0d\1、数据流程\x0d\数据流程其中,数据流程包括了功能。也只有在功能中才能体现数据流程。\x0d\比如最简单的卖买产品。要实现这个功能,那么需要有产品基础表、产品详细表、商店表、背包表。如果扩展性更强,相应的双表是少不不了的。\x0d\表的问题都简单了,关键是这个物品有什么用,这样物品的来源,一大堆数据,物品的走向,又是一大堆数据。最后,这些数据得绕成一个圈。绕圈是一件困难的事情,特别是功能和道具多了起来的时候。难度是2的n次方。\x0d\2、美术\x0d\UI:简洁漂亮的界面总会有好处。\x0d\小图标:道具,地图,装备,一类至少10个吧?大体上百把个是需要的。\x0d\3、程序分5个部分\x0d\数据库:一大堆基础数据表和详细数据表。基础数据表:比如等级1到等级100的用户的属性初始值。详细数据表:每个用户的具体属性。\x0d\功能页面、功能函数。主要就是数据存取,判断,数据走向。\x0d\ajax函数:(可选)某些需要伪即时的功能要用到。\x0d\javascript函数:(可选)模拟客户端的数据计算。也就是webgame的与时间相关的数据。分为两部分。一部分是真实数据,是由服务器端的定时器计算的。另一部分是只有初始值,客户端显示用的。不需要即时同步,仅仅需要模拟同步就行。\x0d\服务器定时器:(C语言或自己设定服务器)定时循环执行某一段代码。而这段代码主要是根据数据库的数据进行更新。这个可以找个C语言程序员来做。对于C语言程序员来讲,这个功能是相当的简单。当然,具体的处理数据的判断和 *** 作数据库,需要你自己写。让C语言程序员给你段标准代码就行了。完全支持sql语句的。\x0d\当然在网页游戏开发前,还要组织相关的专业人才,制作一款网络游戏需要的最核心人才是原画、2D、3D、程序设计、策划等这些方面的人才是必不可少的,因此,要开发一个网页游戏除了要程序员以外,千万不要忘了准备以上人才。
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
为加密我发表的文章内容不被复制,希望能将文章内容直接生成。
解析:
可以采用ASP的组件JPEG来做,可以先做一个,上面是你的网站LOGO相关的东西,然后将文字写在上面,以下方法是以前搜集的,你可以参考一下。
aspjpeg是一款非常强大的处理组件,纯英文版本。不过早已经有免费版和破解版,但是对其进行详细与深入介绍的文章却是不多,即使有也只牵涉到缩略和水印。可能是因为纯英文的缘故。
这里我就是针对这些问题谈谈aspjpeg的高级用法。这里的技术主要包括:
缩略
水印
安全码技术
切割
合并
数据库支持
更多不常用的方法介绍
以及相关的一些实用技术
aspjpeg唯一点不足的就是输出方式比较单一。在这里,我们主要谈将处理保存后再调用的这种输出方法。另外,本人比较懒,所以有些代码仍然引用于原文档,不懂的地方偶会加以解释!
学过vb或者的同志肯定一看就明白了。刷子来着。呵呵。
一、缩略
<%
Set Jpeg = ServerCreateObject("PersitsJpeg") 调用组件
Path = ServerMapPath("images") & "\clock" 待处理路径
JpegOpen Path 打开
高与宽为原的1/2
JpegWidth = JpegOriginalWidth / 2
JpegHeight = JpegOriginalHeight / 2
保存
JpegSave ServerMapPath("images") & "\clock_ all"
%>
<IMG SRC="images/clock_ all"> 查看处理的
二、水印
<%
Set Jpeg = ServerCreateObject("PersitsJpeg")
JpegOpen ServerMapPath("images/dodge_viper")
开始写文字
JpegCanvasFontColor = &000000' red 颜色
JpegCanvasFontFamily = "Courier New" 字体
JpegCanvasFontBold = True 是否加粗
JpegCanvasPrint 10, 10, "Copyright (c) XYZ, Inc"
打印坐标x 打印坐标y 需要打印的字符
以下是对进行边框处理
JpegCanvasPenColor = &H000000' black 颜色
JpegCanvasPenWidth = 2 画笔宽度
JpegCanvasBrushSolid = False 是否加粗处理
JpegCanvasBar 1, 1, JpegWidth, JpegHeight
起始X坐标 起始Y坐标 输入长度 输入高度
JpegSave ServerMapPath("images/dodge_viper_framed") 保存
%>
三、安全码
安全玛的道理和加水印差不多,很多朋友问我要具体的代码技术,在这里我就写出来和大家分享,一般人我还不告诉他。呵呵。
<%
生成安全码的函数 knowsky
function make_randomize(max_len,w_n) max_len 生成长度,w_n:0 可能包含字母,1:只为数字
randomize
for intcounter=1 to max_len
whatnext=int((1-0+1)rnd+w_n)
if whatnext=0 then
upper=122
lower=97
else
upper=57
lower=48
end if
strnewpass=strnewpass & chr(int((upper-lower+1)rnd)+lower)
next
make_randomize=strnewpass
end function
%>
生成安全码的。当然你要预先准备一张背景图哦
<%random_num=make_randomize(4,1) 生成4位数字的安全码
session("random_num")=random_num 为什么调用session,没有session的安全码是完全没有意义的。呵呵
Set Jpeg = ServerCreateObject("PersitsJpeg") 调用组件
JpegOpen ServerMapPath("infos/random_pic/random_indexgif") 打开准备的
JpegCanvasFontColor = &H006699
JpegCanvasFontFamily = "Arial Black"
JpegCanvasFontBold = false
JpegCanvasPrintText 0, -2, random_num
jpegsave ServerMapPath("infos/random_pic/random_indexbmp") 保存
%> <img src=infos/random_pic/random_indexbmp border=0 align=ab iddle>
自己做做看。呵呵。
四、切割
一直以来,对aspjpeg不了解的人以为是无法用它来进行切割的。
其实有这样的一个方法的
crop x1,y1,x2,y2
切割长方型左上角x坐标,y坐标 右下角x坐标 y坐标
下面我就做一个演示哈
Set Jpeg = ServerCreateObject("PersitsJpeg")
jpegopen serverMapPath("/pic/1gif")
jpegwidth=70
JpegHeight = JpegOriginalHeight70 / jpegOriginawidth
jpegcrop 0,0,70,52 开始切割其实是把超过52象素的下部分去掉
jpegsave serverMapPath("/temp_pic/ all_1gif") 保存
怎么样,很简单吧
五、合并
我们这里是要把logo加到dodge_viper上去
其实,合并的方法也可以用来动态打水印哦
Set Photo = ServerCreateObject("PersitsJpeg")
PhotoPath = ServerMapPath("images") & "\dodge_viper"
PhotoOpen PhotoPath
Set Logo = ServerCreateObject("PersitsJpeg")
LogoPath = ServerMapPath("images") & "\clock"
LogoOpen LogoPath
LogoWidth = 70
LogoHeight = LogoWidth LogoOriginalHeight / LogoOriginalWidth
PhotoDrawImage 0, 0, Logo
PhotoSendBinary 这里用了sendBinary的输出方法。当然,你也可以先保存更改后的dodge_viper,再输入也可以。我个人不大喜欢用sendBinary方法,在网速慢的时候容易出错。在速度方面也不怎样。呵呵。
六、数据库支持
这里不多说了。其实就是Binary方法,大家知道存进数据库只能存为二进制的文件的。所以代码就懒的写了。
七、更多方法介绍
CanvasLine(Left, Top, Right, Bottom)
画一条直线
CanvasEllipse(Left, Top, Right, Bottom)
画出一个椭圆
CanvasCircle(X, Y, Radius)
画出一个圆
CanvasBar(Left, Top, Right, Bottom)
画出一个长方形,上面有代码介绍了
CanvasFontShadowColor
文字阴影颜色
CanvasFontShadowXOffset As Long
阴影X坐标设定
CanvasFontShadowYOffset As Long
Y坐标设定
CanvasFontBkMode As String
文字背景
本文作者:雨浪
本处为转载,版权归原作者所有
方法如下。
function convertImgToBase64(url, callback, outputFormat)
{var canvas = documentcreateElement('CANVAS'),
ctx = canvasgetContext('2d'),
img = new Image;
imgcrossOrigin = 'Anonymous';
imgonload = function(){canvasheight = imgheight;
canvaswidth = imgwidth;
ctxdrawImage(img,0,0);
var dataURL = canvastoDataURL(outputFormat || 'image/png');
callbackcall(this, dataURL);
canvas = null; };
imgsrc = url;}
如何看待国产数据库SequoiaDB开源
总的来说,我认为有几点吧
1)相比mongo还是有中文的齐全文档,作为中国的码农。。英文文档看得还是头疼啊。
2)应该说开源社区这边的支持还是比较快速的,在群里提问基本当天都会有人回答,然后在刚开始配置和对接程序的时候原厂的同学还在区里手把手教了我们的工程师。。还是很给力的
3)总体上说使用和迁移转换时候不会不上手,不过现在据说多了SQL的支持,还没有尝试过,听起来很厉害的样子,不过他们原生的 *** 作语句也还是很好理解的
如何看待yandex开源clickhouse这个列式文档数据库Yandex在2016年6月15日开源了一个数据分析的数据库,名字叫做ClickHouse,这对保守俄罗斯人来说是个特大事。更让人惊讶的是,这个列式存储数据库的跑分要超过很多流行的商业MPP数据库软件,例如Vertica。如果你没有听过Vertica,那你一定听过 Michael Stonebraker,2014年图灵奖的获得者,PostgreSQL和Ingres发明者(Sybase和SQL Server都是继承 Ingres而来的), Paradigm4和SciDB的创办者。Michael Stonebraker于2005年创办Vertica公司,后来该公司被HP收购,HP Vertica成为MPP列式存储商业数据库的高性能代表,Facebook就购买了Vertica数据用于用户行为分析。
简单的说,ClickHouse作为分析型数据库,有三大特点:一是跑分快, 二是功能多 ,三是文艺范
1 跑分快: ClickHouse跑分是Vertica的5倍快:
ClickHouse性能超过了市面上大部分的列式存储数据库,相比传统的数据ClickHouse要快100-1000X,ClickHouse还是有非常大的优势:
100Million 数据集:
ClickHouse比Vertica约快5倍,比Hive快279倍,比My SQL快801倍
1Billion 数据集:
ClickHouse比Vertica约快5倍,MySQL和Hive已经无法完成任务了
2 功能多:ClickHouse支持数据统计分析各种场景
- 支持类SQL查询,
- 支持繁多库函数(例如IP转化,URL分析等,预估计算/HyperLoglog等)
- 支持数组(Array)和嵌套数据结构(Nested Data Structure)
- 支持数据库异地复制部署
3文艺范:目前ClickHouse的限制很多,生来就是为小资服务的
- 目前只支持Ubuntu系统
- 不提供设计和架构文档,设计很神秘的样子,只有开源的C++源码
- 不理睬Hadoop生态,走自己的路
如何看待阿里巴巴宣布开放开源AliSQL数据库其实有点类似,谷歌开放安卓系统给大家免费用,
某些技术别人要模仿不难,而且专利有效期也不长,
谷歌可能觉得还不如一下子公开了,大家一起弄,能迅速占领市场
如何看待黑客入侵数据库内网。内鬼和外面的黑客一起合作搞的。内鬼的话就比较容易了。
如何看待美国研发的数据库TokuDB测试过 TokuMX, 性能确实不错,但稳定性堪忧,mongodb 30 后引入了 wiredtiger engine,与 tokumx 差距缩小了
研究过 TokuMX 和 TokuDB 用的索引数据结构,很巧妙的设计,虽然树的深度加倍了,但插入时间确实大幅度降低了。
最后没有采用。
如何看待免费开源CRM免费开源CRM基本上很难满足企业的实际业务需求,可以考虑一款支持用户个性化定制的CRM,百会的CRM就不错,它可以根据用户需求,在最短时间内定制出来并让用户看到效果。满意之后再付费,没有后顾之忧。定制工具简单,定制速度快。用户完全可以自己 *** 作去满足未来业务的变化。另外它基于SAAS模式的在线租用形势,可以为企业节省购买硬件、安装调试、后期升级的费用成本。定期的售后回访还可以解决不少使用中的问题。
如何看待Facebook已开源React NativeReact Native项目成员Tom Ohino发表的React Native: Bringing modern web techniques to mobile(墙外地址)详细描述了React Native的设计理念。Ohino认为尽管Native开发成本更高,但现阶段Native仍然是必须的,因为Web的用户体验仍无法超越Native:
1 Native的原生控件有更好的体验;
2 Native有更好的手势识别;
3 Native有更合适的线程模型,尽管Web Worker可以解决一部分问题,但如图像解码、文本渲染仍无法多线程渲染,这影响了Web的流畅性。
Ohino没提到的还有Native能实现更丰富细腻的动画效果,归根结底是现阶段Native具有更好的人机交互体验。笔者认为这些例子是有说服力的,也是React Native出现的直接原因。
图3 - Ohino在F8分享了React Native(Keynote)
Learn once, write anywhere
“Learn once, write anywhere”同样出自Ohino的文章。因为不同Native平台上的用户体验是不同的,React Native不强求一份原生代码支持多个平台,所以不提“Write once, run anywhere”(Java),提出了“Learn once, write anywhere”。
图4 - “Learn once, write anywhere”
这张图是笔者根据理解画的一张示意图,自下而上依次是:
1 React:不同平台上编写基于React的代码,“Learn once, write anywhere”。
2 Virtual DOM:相对Browser环境下的DOM(文档对象模型)而言,Virtual DOM是DOM在内存中的一种轻量级表达方式(原话是ligheight representation of the document),可以通过不同的渲染引擎生成不同平台下的UI,JS和Native之间通过Bridge通信(React Native通信机制详解 « bang’s blog)。
3 Web/iOS/Android:已实现了Web和iOS平台,Android平台预计将于2015年10月实现(Blog | React)。
前文多处提到的React是Facebook 2013年开源的Web开发框架,笔者在翻阅其发布稿时,发现这么一段:
图5 - 摘自React发布稿(2013)
1 加亮文字显示2013年已经在开发React Native的原型,现在也算是厚积薄发了。
2 最近另一个比较火的项目是Flipboard/react-canvas · GitHub(详见 @rank),渲染层使用了Web Canvas来提升交互流畅性,这和上图第一个尝试类似。
React本身也是个庞大的话题不再展开,详见facebook/react Wiki · GitHub。
笔者认为“Write once, run anywhere”对提升效率仍然是必要的,并且和“Learn once, write anywhere”也没有冲突,我们内部正在改造已有的组件库和HybridAPI,让其适配(补齐)React Native的组件,从而写一份代码可以运行在iOS和Web上,待成熟后开源出来。
持续更新
二、规划
下图展示了业务和技术为React Native所做的改造:
图6 - 业务和技术改造图6 - 业务和技术改造
自下而上:
1 React Node:React支持服务端渲染,通常用于首屏服务端渲染;典型场景是多页列表,首屏服务端渲染翻页客户端渲染,避免首次请求页面时发起2次请求。
2 React Native基础环境:
21 Framework集成:尽管React Native放出了Integration with Existing App文档,集成到现有复杂App中仍然会遇到很多细节问题,比如集成到天猫iPad客户端就花了组里iOS同学2天的时间。
22 Neorking改造:主要是重新建立session,而session通常存放于 header cookie中,React Native提供的网络IO fetch和XML>
以上就是关于数据可视化的工具有哪些全部的内容,包括:数据可视化的工具有哪些、怎样制作网页游戏、如何使用ASP将文本格式直接生成图片格式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)