<PK拾>公式编辑器怎么堪的准呢?

今天看啥 热点:
强大的&canvas&,强大&canvas&&canvas&
我会告诉你我不仅写了这篇博客还录了视频吗?这里是视频地址&。我会告诉你目前前端进阶最好的qq群是
吗?群里每周都有视频在线分享。
个人认为&canvas&是h5最重量级的新标签了,现在各种h5小游戏都是基于&canvas&的,它为游戏提供了一个功能强大的画布,可在画布上绘制丰富的内容,同时也催生出很多游戏引擎。现在就简单介绍一下&canvas&的一些基本绘图和图片处理功能:
1.绘制线条
绘图的基本步骤是:先用getContext("2d")获取二维绘图环境上下文,有二维那肯定也有三位了?是的,三维就要用到WebGL了,技术水平有限,今天就不讨论三维了(三围肿么这么耳熟~~!)。然后设置画笔样式,lineWidth画笔宽度,strokeStyle画笔颜色,lineCap线头样式。样式设置完毕后就开始绘图了,首先用moveTo()把一个看不到的光标移动到起点位置,然后lineTo()设定重点,最后stroke()画出线条。
&!DOCTYPE HTML&
&meta charset = "utf-8"&
&title&绘制线条&/title&
body,div{margin:0px;padding:0px;text-align:center}
border:2px solid black;
border-radius:4px;
box-shadow:0px 0px 10px black;
-webkit-box-shadow:0px 0px 10px black;
-moz-box-shadow:0px 0px 10px black;
&h1&绘制线条&/h1&
&canvas id="canv" width="400px" height="300px"&
你若能看到这句话说明你浏览器不支持canvas!
&script type="text/javascript"&
var canv = document.getElementById("canv");
//获取2d上下文
var ctx = canv.getContext("2d");
//设置样式
ctx.lineWidth = 40;
ctx.strokeStyle = "red";
ctx.lineCap = "round"; //butt ,square,round
ctx.beginPath();
//设置起始点
ctx.moveTo(20,20);
ctx.lineTo(200,200);
//开始绘制定义好的路径
ctx.stroke();
2.绘制矩形
矩形的绘制步骤同上所述,但有两种绘制类型:实心矩形fillRect(起点x,起点y,长,宽),空心矩形strokeRect(起点x,起点y,长,宽)。
var canv = document.getElementById("canv");
//获取2d上下文
var ctx = canv.getContext("2d");
//设置样式
ctx.lineWidth = 10;
ctx.strokeStyle = "red";
//绘制实心矩形
ctx.fillStyle="red";
ctx.fillRect(10,10,100,100);
3.绘制圆形
同样,也分实心和空心,主要用到arc(圆心x,圆心y,半径,其实角度,结束角度*Math.PI/180,顺逆时针);
var canv = document.getElementById("canv");
//获取2d上下文
var ctx = canv.getContext("2d");
//设置样式
ctx.lineWidth = 10;
ctx.strokeStyle = "red";
ctx.beginPath();
//中心点,半径,始末角度,顺逆时针
ctx.arc(200,200,50,0,270*Math.PI/180,false);
ctx.stroke();
ctx.fillStyle = "red";
ctx.beginPath();
ctx.arc(200,200,50,0,270*Math.PI/180,false);
ctx.fill();
能破就能立,能绘制就能擦除,用clearRect(起点x,起点y,擦出范围长,擦出范围宽)实现擦除。
//设置样式
ctx.lineWidth = 10;
ctx.fillStyle = "red";
//绘制矩形
ctx.fillRect(10,10,200,100);
ctx.clearRect(30,30,100,50);
可实现两种渐变方式:线性渐变createLinearGradient(),径向渐变createRadialGradient()。
 var canv = document.getElementById("canv");
//获取2d上下文
var ctx = canv.getContext("2d");
//径向渐变
var grd=ctx.createRadialGradient(100,100,10,100,100,50);
grd.addColorStop(0.1,"red");
grd.addColorStop(0.8,"blue");
ctx.fillStyle=
ctx.fillRect(0,0,200,200);
//线性渐变
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0.2,"red");//必须0-1之间的数,代表颜色的渐变权重
grd.addColorStop(0.7,"blue");
ctx.fillStyle=
ctx.fillRect(0,0,200,200);
6.像素处理:黑白处理,反色处理
原理:先把要处理的图片读取到canvas上,然后遍历每个像素点,更改像素的rgb值即可。
黑白处理:
反色处理:
&h1&像素处理&/h1&
&img src = "logo.png" id="logo" /&
&canvas id="canv" width="800px" height="800px"&
你若能看到这句话说明你浏览器不支持canvas!
&script type="text/javascript"&
var canv = document.getElementById("canv");
//获取2d上下文
var ctx = canv.getContext("2d");
var image = new Image();
image.src = "01.jpg";
image.onload = function(){
ctx.drawImage(image,0,0);
var imgdata = ctx.getImageData(0,0,250,250);
var pixels = imgdata.
/* // 遍历每个像素并对 RGB 值进行取反
for (var i=0, n=pixels. i&n; i+= 4){
pixels[i] = 255-pixels[i];
pixels[i+1] = 255-pixels[i+1];
pixels[i+2] = 255-pixels[i+2];
// 遍历每个像素并更改 RGB 值
for (var i=0, n=pixels. i&n; i+= 4){
var grayscale = pixels[i]*.3+pixels[i+1]*.59+pixels[i+2]*.11;
//灰度处理
pixels[i ] = // r
pixels[i+1] = // g
pixels[i+2] = // b
// 在指定位置进行像素重绘
ctx.putImageData(imgdata, 250, 0);
动画原理:先绘制一张图片drawImage(img,x,y,80,80);时刻更改图片的坐标x,y来使图片不断移动。
&!DOCTYPE HTML&
&meta charset="utf-8"&
&title&动画&/title&
&canvas id="cav" width="500" height="500">// 设置绘图环境
var cav = document.getElementById("cav");
var cxt=cav.getContext('2d');
//初始位置
// 创建绘图对象,并且画出来
var img =new Image();
img.src="logo.png";
function draw()
//清除上一帧动画
cxt.clearRect(0,0,500,500);
//十分重要
cxt.drawImage(img,x,y,80,80);
//设定动画,时间间隔100毫秒
var time = setInterval(draw,100);
function stop(){
clearInterval(time);
倘若我们不清除上一次绘制的结果效果会怎样呢?那就注释掉cxt.clearRect(0,0,500,500);试一试。
function draw()
//清除上一帧动画
//注释掉啦 cxt.clearRect(0,0,500,500);
//十分重要
cxt.drawImage(img,x,y,80,80);
效果将连续出现一叠绘制的图片:
8.拖拽原理+canvas实现简易画板
&!DOCTYPE HTML&
&meta charset="utf-8"/&
#canvas{cursor:default;}
#red{background: width:30height: 27px}
#blue{background: width:30height: 27px}
#yellow{background: width:30height: 27px}
#white{background: width:30height: 27px}
#zi{background:#8B026B; width:30height: 27px}
&canvas id="canvas" width="600" height="400"& &/canvas&
&br&&label&画笔颜色:&/label&
&input type="button" id="red" onclick="linecolor='red'"&
&input type="button" id="blue" onclick="linecolor='blue'"&
&input type="button" id="yellow" onclick="linecolor='yellow'"&
&input type="button" id="white" onclick="linecolor='white'"&
&input type="button" id="zi" onclick="linecolor='#8B026B'"&
&label&画笔宽度:&/label&
&select id="sel"&
&option value="4"&4&/option&
&option value="8"&8&/option&
&option value="16"&16&/option&
&option value="30"&30&/option&
&input type="button" value="生成图片" onclick="toImg()"&&br&
&img id="image" src="" width="500px" height="200px"&
&script type="text/javascript"&
//下拉画笔宽度
window.onload=function(){
var huabi=document.getElementById("sel");
huabi.onchange=function(){
linw=huabi.
var canvas=document.getElementById("canvas");
var ctx=canvas.getContext("2d");
//画一个黑色矩形
ctx.fillStyle="#002200";
ctx.fillRect(0,0,600,400);
//按下标记
var onoff=false;
var oldx=-10;
var oldy=-10;
//设置颜色默认为白色
var linecolor="white";
//画笔宽度
var linw=5;
//鼠标移动事件,事件绑定
canvas.addEventListener("mousedown",down,false);
canvas.addEventListener("mousemove",draw,true);
canvas.addEventListener("mouseup",up,false);
function down(event){
onoff=true;
oldx=event.pageX;
oldy=event.pageY;
function up(){
onoff=false;
function draw(event){
if(onoff==true)
var newx=event.pageX;
var newy=event.pageY;
ctx.beginPath();
ctx.moveTo(oldx,oldy);
ctx.lineTo(newx,newy);
ctx.strokeStyle=
ctx.lineWidth=
ctx.lineCap="round";
ctx.stroke();
function toImg(){
document.getElementById("image").src=canvas.toDataURL("image/jpg");
点我展开代码
内容很基础,各位见笑啦。
暂无相关文章
相关搜索:
相关阅读:
相关频道:
&&&&&&&&&&&&&&&&&&
HTML5最近更新(window.slotbydup=window.slotbydup || []).push({
id: '4051700',
container: s,
size: '400,50',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '4544894',
container: s,
size: '350,50',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '3991088',
container: s,
size: '100,240',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '3991102',
container: s,
size: '100,240',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '4044404',
container: s,
size: '240,146',
display: 'inlay-fix'
君俊评指标之: &神龙无首&
理想论坛荣誉班长
君俊评指标之: &神龙无首&
浏览:17866
欢迎光临理想论坛,由于您没有登录,所以无法查看到论坛的附件及隐藏分区,也无法与其他会员交流。
还没有理想论坛的帐号?
编了无数的指标却很少仔细研究一个指标,下了无数的源码却没有认真理解过一句代码,这是很多和我一样指标迷的通病,痛定思痛今天在这里开一贴和大家仔细研习一下人家的公式精华,以达学习提高之效;
下面是我学习&群龙无首&源码的体会
原代码如下:
a1:(ema(amount/v/100,3)+ema(amount/v/100,6)+ema( amount/v/100,9))/3,COLORRED;
a2:(ema(amount/v/100,5)+ema(amount/v/100,10)+ema( amount/v/100,20))/3,COLORRED;
a3:(ema(amount/v/100,7)+ema(amount/v/100,14)+ema( amount/v/100,28))/3,COLORRED;
a4:(ema(amount/v/100,9)+ema(amount/v/100,18)+ema( amount/v/100,36))/3,COLORRED;
a5:(ema(amount/v/100,11)+ema(amount/v/100,22)+ema( amount/v/100,44))/3,COLORRED;
a6:(ema(amount/v/100,13)+ema(amount/v/100,26)+ema( amount/v/100,52))/3,COLORRED;
A:(EMA(AMOUNT/V/100,21)+EMA(AMOUNT/V/100,34)+EMA(AMOUNT/V/100,55))/3,LINETHICK2;
a7:a-(a1-a),
a8:a-(a2-a),
a9:a-(a3-a),
a10:a-(a4-a),
a11:a-(a5-a),
a12:a-(a6-a),
[ Last edited by 君俊 on
at 20:56 ]股票论坛
难得一见的好贴!!!
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想论坛荣誉班长
一首歌有一句主旋律,一个公式也一定有一句核心代码;
本公式的核心代码就是----出现频率最高的一句:
ema(amount/v/100,N)
再看本句的中心:amount/v/100 去掉常数看变量,amount是本周期成交总额,V-成交量;
两者相除得到本周期每手平均股价,再除去100得到每股的平均价.
那么本核心句表达内容为:当前周期的每股平均价;
显示在主图上就是一条价格平均线;
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想论坛荣誉班长
那么这条均线有什么特点呢?
有比较才有优劣,我们把他放在主图中和K线价平均作比较:
代码如下:cb:amount/v/100;
& && && && && && && &xt:(h+l+c+o)/4;
从下图中可明显看出, cb要比xt线更平滑和有趋向性;
为什么会这样呢?
cb(成本)线和xt(形态)线,他们分别描述的是重量和形状的平均,这好比如一个人,他可以轻易地改变他的高矮而很难改变他的体重一样,股票的成本改变远远难于他的形态改变,但反过来一旦成本改变,形态必然会随之改变,这也是当前筹码理论的基石
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想论坛荣誉班长
引用:Originally posted by 君俊 at
那么这条均线有什么特点呢?
有比较才有优劣,我们把他放在主图中和K线价平均作比较:
代码如下:cb:amount/v/100;
& && && && && && && &xt:(h+l+c+o)/4;
从下图中可明显看出, cb要比xt线更平滑和有趋向性 ... &&&&这一段分析得有理,谢谢!
积分12289&理想币949 个&彩币0 个&共享币117 个&注册时间&
理想论坛荣誉班长
cb和xt犹如股票的体重和身高,他们是同一个身体的两种表达.
cb有着一定的超前性,xt有一定的趋势延后性,他们各有自己的优缺点,同时又是一个不可分割的整体.
如何更好的让他们体现自己的功能呢,这里有必要对原公式进行一下优化,代码如下:
(cb+xt)/2;
(超前+延后)/2=中间;
这就是最简单的平均优化.
这样就更加贴近股票的骨干走势.
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想论坛荣誉班长
cb和xt本身与两者间的关系更有另外的研究价值,因为他们表现的是最底层的价量规律,有举趣的朋友可以自行观察.
经过上述的分析我们得到一个比较优化的核心代码:
cb:=amount/v/100;
xt:=(h+c+o+l)/2;
hx:=(cb+xt)/2;//核心句
下面接着看原作者如何围绕这句话展开的对股迹的表达
a1:(ema(amount/v/100,3)+ema(amount/v/100,6)+ema( amount/v/100,9))/3,COLORRED;
a2:(ema(amount/v/100,5)+ema(amount/v/100,10)+ema( amount/v/100,20))/3,COLORRED;
a3:(ema(amount/v/100,7)+ema(amount/v/100,14)+ema( amount/v/100,28))/3,COLORRED;
a4:(ema(amount/v/100,9)+ema(amount/v/100,18)+ema( amount/v/100,36))/3,COLORRED;
a5:(ema(amount/v/100,11)+ema(amount/v/100,22)+ema( amount/v/100,44))/3,COLORRED;
a6:(ema(amount/v/100,13)+ema(amount/v/100,26)+ema( amount/v/100,52))/3,COLORRED;
A:(EMA(AMOUNT/V/100,21)+EMA(AMOUNT/V/100,34)+EMA(AMOUNT/V/100,55))/3,LINETHICK2;
a7:a-(a1-a),
a1----核心句的3,6,9日指数移动平均改写为:ema(hx,(3+6+9)/3)也就是ema(hx,6);
余类推....
a1:ema(hx,6);
a2:ema(hx,12);
a3:ema(hx,16);
a4:ema(hx,21);
a5:ema(hx,26);
a6:ema(hx,31);
a:ema(hx,36),LINETHICK2;
这样得到一组周期不同的均线流.
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想初二级同学
还需要 555 积分才能升级
高!实在是高!学习学习,再学习!
积分5445&理想币3408 个&彩币0 个&共享币116 个&注册时间&
理想论坛荣誉班长
a7:a-(a1-a),
a8:a-(a2-a),
a9:a-(a3-a),
a10:a-(a4-a),
a11:a-(a5-a),
a12:a-(a6-a),
这段以a为中轴求上述均线的对称值,直接加进来,
那么整个公式就变成下面这样
cb:=amount/v/100;
xt:=(h+l+o+c)/4;
hx:=(cb+xt)/2;
a1:ema(hx,6),
a2:ema(hx,12),
a3:ema(hx,16),
a4:ema(hx,21),
a5:ema(hx,26),
a6:ema(hx,31),
a:ema(hx,36),LINETHICK2;
a7:a-(a1-a),
a8:a-(a2-a),
a9:a-(a3-a),
a10:a-(a4-a),
a11:a-(a5-a),
a12:a-(a6-a),
和上公式效果一样;
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想初二级同学
还需要 555 积分才能升级
原图与改编后的图对比!
是这样吗?
积分5445&理想币3408 个&彩币0 个&共享币116 个&注册时间&
理想初二级同学
还需要 555 积分才能升级
受益匪浅!
真是高手如云啊!实在是佩服、佩服!
积分5445&理想币3408 个&彩币0 个&共享币116 个&注册时间&
理想初二级同学
还需要 1811 积分才能升级
不错,值得加分鼓励!
积分4189&理想币2456 个&彩币0 个&共享币100 个&注册时间&
理想论坛荣誉班长
谢谢各位的鼓励,吃过饭继续学习
下面再谈谈作者的思路和公式用法:
1.作者尝试用股价重心均线的方法来表达股票走势;
2.通过对成本均线的对称处理,达到空多对等显示的目地.
3.本指标的精彩之处就在于他的形态表现,胜过传统布林线;
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想论坛荣誉班长
公式的用法::
1,每一次均线收敛极致就是一个变盘点.
2.对等多空均线的金死叉形成自然的买卖点.
3.36日均线A是本指标的中长期生命线.
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想论坛荣誉班长
最后一步,有效性的测试:
1,以金叉点为买点的多头测试;
2.以死叉点为卖点的空头测试;
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想论坛荣誉班长
空头测试结果
看了结果也许大家心都凉了吧:(
他仅仅也就是普通KDJ的成功率36%多一点;
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想论坛荣誉班长
当然,这不是最后的结果,我们必须要优化他,因为再好的钻石开始都是无法熠熠生光的.
积分30197&理想币18447 个&彩币0 个&共享币102 个&注册时间&
理想初二级同学
还需要 555 积分才能升级
你可真是行啊,公式叫你分析的十分透明!
等待你的优化公式新鲜出炉!
积分5445&理想币3408 个&彩币0 个&共享币116 个&注册时间&
理想初二级同学
还需要 1811 积分才能升级
引用:Originally posted by 君俊 at
当然,这不是最后的结果,我们必须要优化他,因为再好的钻石开始都是无法熠熠生光的. &&&&希望看到你优化后的结果
积分4189&理想币2456 个&彩币0 个&共享币100 个&注册时间&
理想论坛荣誉班长
引用:Originally posted by 黑白无常 at
希望看到你优化后的结果 &&&&境界确实不同,值得学习。
积分103993&理想币90062 个&彩币0 个&共享币101 个&注册时间&
理想小四级同学
还需要 495 积分才能升级
厉害,作者还没你分析的细,这个是根据群龙有首仿制,,不过现在有最新仿制版,和原版不相上下,嘿嘿.
积分205&理想币51 个&彩币0 个&共享币101 个&注册时间&
快速回复主题
禁用 URL 识别
使用个人签名
接收新回复邮件通知
发帖请务遵守本站的相关规则,所有发表(包括转发)政治、色情非法信息者本站将实时提供发贴者个人信息给公安局,追究责任,特此申明!
具体规则请参见《》
您需要登录后才可以发帖
发表帖子[完成后可按 Ctrl+Enter 发布]
理想论坛上的网友发表的帖子纯属个人意见,理想论坛不负任何责任!广告赞助商内容与本站无关!
理想论坛值班电话[9:30~18:30]: &#6 5518-1 &#66 3090 ☎ 186 (广告)☎ 187 (广告)
工业和信息化部信息备案:2014年2月 .NET技术大版内专家分月排行榜第二
2014年4月 .NET技术大版内专家分月排行榜第三2014年3月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三
2014年2月 .NET技术大版内专家分月排行榜第二
2014年4月 .NET技术大版内专家分月排行榜第三2014年3月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 dnf农作物合成公式 的文章

 

随机推荐