* @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
* @param {Object} file
*/
"inspect" : true,
- /**
- * @event beforeupload
- * Fire before xhr upload the file
- * @param {Roo.dialog.UploadCropbox} this
- * @param {Object} data
- */
- "beforeupload" : true,
/**
* @event upload
* Fire when xhr upload the file
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
)
context.scale(scale, scale);
}
+ context.fillStyle = 'white';
+ context.fillRect(0, 0, this.thumbEl.getWidth() / this.getScaleLevel(), this.thumbEl.getHeight() / this.getScaleLevel());
+
+
context.drawImage(imageCanvas, sx, sy, width, height, x, y, width, height);
break;
}
}
- 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("onid", "43024");
- formData.append("ontable", "pressrelease_boilerplate");
-
formData.append('returnHTML', 'NO');
-
+
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;