setCanvasPosition : function()
{
+ console.log("SET CANVAS POSITION");
if(!this.canvasEl){
return;
}
var maxX = Math.ceil(minX + this.thumbEl.getWidth() - this.canvasEl.width);
var maxY = Math.ceil(minY + this.thumbEl.getHeight() - this.canvasEl.height);
-
+
+ if(minX > maxX) {
+ var tempX = minX;
+ minX = maxX;
+ maxX = tempX;
+ }
+
+ if(minY > maxY) {
+ var tempY = minY;
+ minY = maxY;
+ maxY = tempY;
+ }
+
var x = Roo.isTouch ? e.browserEvent.touches[0].pageX : e.getPageX();
var y = Roo.isTouch ? e.browserEvent.touches[0].pageY : e.getPageY();
x = x - this.mouseX;
y = y - this.mouseY;
-
+
var bgX = Math.ceil(x + this.previewEl.getLeft(true));
var bgY = Math.ceil(y + this.previewEl.getTop(true));
- bgX = (minX < bgX) ? minX : ((maxX > bgX) ? maxX : bgX);
- bgY = (minY < bgY) ? minY : ((maxY > bgY) ? maxY : bgY);
+ bgX = (bgX < minX) ? minX : ((bgX > maxX) ? maxX : bgX);
+ bgY = (bgY < minY) ? minY : ((bgY > maxY) ? maxY : bgY);
this.previewEl.setLeft(bgX);
this.previewEl.setTop(bgY);
this.startScale = this.scale;
this.scale = (e.getWheelDelta() == 1) ? (this.scale + 1) : (this.scale - 1);
+
+ console.log("START SCALE:" + this.startScale);
+ console.log("TEST SCALE: " + this.scale);
if(!this.zoomable()){
this.scale = this.startScale;
return;
}
+
+ console.log("END SCALE: " + this.scale);
this.draw();
if(this.minWidth < this.minHeight){
minScale = this.thumbEl.getHeight() / this.minHeight;
}
+
+ console.log("MINSCALE: " + minScale);
var width = Math.ceil(this.imageEl.OriginWidth * this.getScaleLevel() / minScale);
var height = Math.ceil(this.imageEl.OriginHeight * this.getScaleLevel() / minScale);
+ console.log("WIDTH: " + width);
+ console.log("HEIGHT: " + height);
+
var maxWidth = this.imageEl.OriginWidth;
var maxHeight = this.imageEl.OriginHeight;
var canvasEl = document.createElement("canvas");
var contextEl = canvasEl.getContext("2d");
+
+ console.log(this.getScaleLevel());
canvasEl.width = this.imageEl.OriginWidth * this.getScaleLevel();
canvasEl.height = this.imageEl.OriginWidth * this.getScaleLevel();
contextEl.scale(this.getScaleLevel(), this.getScaleLevel());
- contextEl.translate(1, 1);
+ contextEl.translate(center, center);
contextEl.rotate(this.rotate * Math.PI / 180);
- contextEl.drawImage(this.imageEl, 0, 0, this.imageEl.OriginWidth, this.imageEl.OriginHeight, 0, 0, this.imageEl.OriginWidth, this.imageEl.OriginHeight);
+ contextEl.drawImage(this.imageEl, 0, 0, this.imageEl.OriginWidth, this.imageEl.OriginHeight, center * -1, center * -1, this.imageEl.OriginWidth, this.imageEl.OriginHeight);
this.canvasEl = document.createElement("canvas");
crop : function()
{
+ console.log("crop");
if(!this.canvasLoaded){
return;
}
}
context.scale(scale, scale);
-
var sx = Math.min(this.canvasEl.width - this.thumbEl.getWidth(), this.thumbEl.getLeft(true) - this.previewEl.getLeft(true));
var sy = Math.min(this.canvasEl.height - this.thumbEl.getHeight(), this.thumbEl.getTop(true) - this.previewEl.getTop(true));
}
this.cropData = canvas.toDataURL(this.cropType);
+
+ console.log("cropData");
+ console.log(this.cropData);
if(this.fireEvent('crop', this, this.cropData) !== false){
this.process(this.file, this.cropData);
}
}
-
+
+ if(this.imageEl.OriginWidth < this.minWidth || this.imageEl.OriginHeight < this.minHeight) {
+ this.baseScale = width / this.minWidth;
+ }
+ console.log(this.baseScale);
return;
},
process : function(file, crop)
{
+ console.log("process");
if(this.loadMask){
this.maskEl.mask(this.loadingText);
}
file.xhr = this.xhr;
+ console.log("METHOD:" + this.method);
+ console.log("URL: " + this.url);
this.xhr.open(this.method, this.url, true);
var headers = {
xhrOnLoad : function(xhr)
{
+ console.log("xhrOnLoad");
if(this.loadMask){
this.maskEl.unmask();
}
return;
}
+ console.log(response);
var response = Roo.decode(xhr.responseText);
if(!response.success){