Мне нужно сделать мобильное приложение со следующим сервисом:
1- загрузить изображение, затем нарисовать некоторые строки на нем и сохранить результат в виде pdf-файла
2- пользователь имеет возможность увеличивать и уменьшать масштаб изображения из изображения
3-, когда он нажмите закончить результат должен быть сохранен в виде pdf-файла
4 applicaiton должен работать на Android и IOS мобильные
поэтому я выбрал пользователя onsen (angularjs) с помощью monaca (помог мне с некоторыми полезными плагинами)
поэтому я добавил элемент в мой HTMLМне нужно загрузить изображение и нарисовать некоторые строки на нем. Увеличение и уменьшение после этого мне нужно сохранить в виде файла pdf.
<ons-gesture-detector ng-pinchin= "onPinchInGesture()" ng-pinchout="onPinchOutGesture()" ng-dragleft="onDragLeftGesture()" ng-dragright="onDragRightGesture()" ng-dragdown="onDragDownGesture()" ng-dragup="onSwipeUpGesture()">
<canvas id="the-canvas" width="300px" height="400px" style="border: 1px solid blue;">
Your browser does not support the canvas element.
</canvas>
</ons-gesture-detector>
и вот ява скрипт работает
$scope.onPinchOutGesture = function(gesture) {
height = height + (2.5*(height/400));
width = width + (2.5*(width/300));
xPosition = xPosition - (2.5*(width/300));
yPosition = yPosition - (2.5*(width/300));
make_base(width , height, xPosition , yPosition);
};
$scope.onPinchInGesture = function(gesture) {
height = height - (2.5*(height/400));
width = width - (2.5*(width/300));
xPosition = xPosition + (2.5*(width/300));
yPosition = yPosition + (2.5*(width/300));
make_base(width , height, xPosition , yPosition);
};
$scope.onSwipeLeftGesture = function(gesture) {
xPosition = xPosition - (5*(width/300));
make_base(width , height, xPosition , yPosition);
};
$scope.onSwipeRightGesture = function(gesture) {
xPosition = xPosition + (5*(width/300));
make_base(width , height, xPosition , yPosition);
};
$scope.onSwipeDownGesture= function(gesture) {
yPosition = yPosition + (5*(height/400));
make_base(width , height, xPosition , yPosition);
};
$scope.onSwipeUpGesture= function(gesture) {
yPosition = yPosition - (5*(height/400));
make_base(width , height, xPosition , yPosition);
};
проблемы, когда я пытаюсь изменить масштаб описываются особые части изображение стало больше, не фокусируясь на том, что часть
так что я должен увеличить первым затем ищу разыскиваемую часть
ДОБАВЛЕННОЙ
function make_base(x , y, xPos, yPos){
width = x;
height = y;
xPosition = xPos;
yPosition = yPos;
var canvas = document.getElementById('the-canvas'),
context = canvas.getContext('2d');
base_image = new Image();
base_image.src =image path;
base_image.onload = function(){
context.clearRect(0, 0, canvas.width, canvas.height);
context.drawImage(base_image, xPosition, yPosition, x, y);
};
}