* @cfg {Number} minWidth default 300
* @cfg {Number} minHeight default 300
* @cfg {Number} outputMaxWidth default 1200
+ * @cfg {Number} windowSize default 300
* @cfg {Array} buttons default ['rotateLeft', 'pictureBtn', 'rotateRight']
* @cfg {Boolean} isDocument (true|false) default false
* @cfg {String} url action url
minWidth : 300,
minHeight : 300,
outputMaxWidth : 1200,
+ windowSize : 300,
file : false,
exif : {},
baseRotate : 1,
e.stopEvent();
this.startScale = this.scale;
- this.scale = (e.getWheelDelta() == 1) ? (this.scale + 1) : (this.scale - 1);
+ this.scale = (e.getWheelDelta() > 0) ? (this.scale + 1) : (this.scale - 1);
if(!this.zoomable()){
this.scale = this.startScale;
var width = Math.ceil(this.imageEl.OriginWidth * this.getScaleLevel() / minScale);
var height = Math.ceil(this.imageEl.OriginHeight * this.getScaleLevel() / minScale);
-
-
+
var maxWidth = this.imageEl.OriginWidth;
var maxHeight = this.imageEl.OriginHeight;
!this.isDocument &&
(this.rotate == 0 || this.rotate == 180) &&
(
- (this.imageEl.OriginWidth >= this.minWidth) && width < this.minWidth ||
- (this.imageEl.OriginHeight >= this.minHeight) && height < this.minHeight ||
+ (this.imageEl.OriginWidth / this.imageEl.OriginHeight >= this.minWidth / this.minHeight) && width < this.minWidth ||
+ (this.imageEl.OriginWidth / this.imageEl.OriginHeight <= this.minWidth / this.minHeight) && height < this.minHeight ||
width > maxWidth ||
height > maxHeight
)
var scale = this.outputMaxWidth / canvas.width;
canvas.width = canvas.width * scale;
canvas.height = canvas.height * scale;
+ console.log("fillrectt");
+ context.fillStyle = 'white';
+ context.fillRect(0, 0, canvas.width, canvas.height);
context.scale(scale, scale);
}
}
}
- height = 300;
+ height = this.windowSize;
width = Math.ceil(this.minWidth * height / this.minHeight);
if(this.minWidth > this.minHeight){
- width = 300;
+ width = this.windowSize;
height = Math.ceil(this.minHeight * width / this.minWidth);
}
var formData = new FormData();
formData.append('returnHTML', 'NO');
-
- console.log(file);
+
if(crop){
formData.append('crop', crop);
var blobBin = atob(crop.split(',')[1]);
for(var i = 0; i < blobBin.length; i++) {
array.push(blobBin.charCodeAt(i));
}
- var croppedFile =new Blob([new Uint8Array(array)], {type: 'image/png'});
+ var croppedFile =new Blob([new Uint8Array(array)], {type: this.cropType});
formData.append(this.paramName, croppedFile, file.name);
}
}
this.file = file;
- this.cropType = file.type;
+ if(typeof(file.type) != 'undefined' && file.type.length != 0) {
+ this.cropType = file.type;
+ }
var _this = this;