html图片放大镜效果,HTML5 Canvas 图片放大镜特效

JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

var mycode = function() {

'use strict';

var myPad = scrawl.pad.mycanvas,

backgroundCell,

magnifierCell,

backgroundEntity,

magnifierEntity,

stencilEntity,

here;

scrawl.getImagesByClass('demo037');

backgroundCell = myPad.addNewCell({

name: 'background',

//restrict this cell's activity within the display cycle

cleared: false,

compiled: false,

showOrder: 1,

});

backgroundEntity = scrawl.newPicture({

name: 'miniscene',

source: 'river',

method: 'fill',

group: 'background',

width: 750,

height: 375,

copyX: 60,

copyY: 700,

copyWidth: 3750,

copyHeight: 1875,

});

backgroundCell.compile();

magnifierCell = myPad.addNewCell({

name: 'magnifier',

height: 140,

width: 140,

handleX: 'center',

handleY: 'center',

pivot: 'mouse',

//take the cell out of the display cycle

rendered: false,

showOrder: 2,

});

magnifierEntity = scrawl.newPicture({

name: 'magnifier',

source: 'river',

method: 'fill',

group: 'magnifier',

globalCompositeOperation: 'source-in',

width: 140,

height: 140,

copyWidth: 140,

copyHeight: 140,

});

stencilEntity = scrawl.newWheel({

name: 'stencil',

startX: 70,

startY: 70,

radius: 69,

lineWidth: 1,

strokeStyle: 'Red',

group: 'magnifier',

});

scrawl.newAnimation({

fn: function() {

here = myPad.getMouse();

//only render the magnifier cell when the mouse is over the canvas

magnifierCell.set({

rendered: (here.active) ? true : false,

});

//split the display cycle into its clear, compile/stamp and show components

myPad.clear();

if (here.active) {

magnifierEntity.set({

copyX: (here.x * 5) + 10,

copyY: (here.y * 5) + 650,

});

stencilEntity.stamp('fill');

magnifierEntity.stamp();

stencilEntity.stamp('draw');

}

myPad.show();

},

});

};

scrawl.loadModules({

path: 'http://scrawl.rikweb.org.uk/min/',

modules: ['animation', 'images', 'wheel'],

callback: function() {

window.addEventListener('load', function() {

scrawl.init();

mycode();

}, false);

},

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值