关于移动和缩放的代码,如下:
var ap = function (AlloyPaper,ids,url) {
var Stage = AlloyPaper.Stage, Bitmap = AlloyPaper.Bitmap,Loader=AlloyPaper.Loader;
var stage = new Stage("#ourCanvas");
stage.autoUpdate=false;
var ld = new Loader();
ld.loadRes([
{ id: ids, src: "img/"+ url+".png" },
]);
ld.complete(function () {
var bmp = new Bitmap(ld.get("test"));
bmp.originX = 0.5;
bmp.originY = 0.5;
bmp.x = stage.width / 2;
bmp.y = stage.height / 2;//200;
window.img_x = bmp.x;
window.img_y = bmp.y;
stage.add(bmp);
stage.update();
var initScale = 1;
new AlloyFinger(bmp, {
multipointStart: function () {
initScale = bmp.scaleX;
},
rotate: function (evt) {
bmp.rotation += evt.angle;
stage.update();
},
pinch: function (evt) {
bmp.scaleX = bmp.scaleY = initScale * evt.scale;
stage.update();
},
pressMove: function (evt) {
bmp.x += evt.deltaX;
bmp.y += evt.deltaY;
evt.preventDefault();
window.img_x = bmp.x;
window.img_y = bmp.y;
stage.update();
}
});
});
}
我需要获取到移动后的位置,然后使用ctx.drawImage(imaged, window.img_x, window.img_y, imaged.width, imaged.height);
加入到canvas中,最后合成一张图片。
问题0:是虽然能获取到移动后的位置和宽高,但是很不准确,位置偏移很大,
问题1:宽高也可以获取到,但是需要*2感觉才是正确的,
问题2:drawImage方法在iOS上不生效