308 lines
8.6 KiB
JavaScript
Executable File
308 lines
8.6 KiB
JavaScript
Executable File
/*=========================================================================================
|
|
File Name: image-cropper.js
|
|
Description: Image Cropper
|
|
--------------------------------------------------------------------------------------
|
|
Item Name: Modern Admin - Clean Bootstrap 4 Dashboard HTML Template
|
|
Version: 1.0
|
|
Author: PIXINVENT
|
|
Author URL: http://www.themeforest.net/user/pixinvent
|
|
==========================================================================================*/
|
|
|
|
|
|
$(document).ready(function(){
|
|
|
|
/********************************
|
|
* Crop Demo *
|
|
********************************/
|
|
var $image = $('.main-demo-image');
|
|
var $download = $('.download');
|
|
var $dataX = $('.main-demo-dataX');
|
|
var $dataY = $('.main-demo-dataY');
|
|
var $dataHeight = $('.main-demo-dataHeight');
|
|
var $dataWidth = $('.main-demo-dataWidth');
|
|
var $dataRotate = $('.main-demo-dataRotate');
|
|
var $dataScaleX = $('.main-demo-dataScaleX');
|
|
var $dataScaleY = $('.main-demo-dataScaleY');
|
|
var options = {
|
|
viewMode: 1,
|
|
aspectRatio: 16 / 9,
|
|
preview: '.img-preview',
|
|
crop: function(e) {
|
|
$dataX.val(Math.round(e.x));
|
|
$dataY.val(Math.round(e.y));
|
|
$dataHeight.val(Math.round(e.height));
|
|
$dataWidth.val(Math.round(e.width));
|
|
$dataRotate.val(e.rotate);
|
|
$dataScaleX.val(e.scaleX);
|
|
$dataScaleY.val(e.scaleY);
|
|
}
|
|
};
|
|
|
|
// Cropper
|
|
$image.cropper(options);
|
|
|
|
// Get Data
|
|
$('.get-data-btn').on('click',function(){
|
|
result = $image.cropper("getData");
|
|
$('.get-data').val(JSON.stringify(result));
|
|
});
|
|
|
|
// Get Image Data
|
|
$('.get-image-data-btn').on('click',function(){
|
|
result = $image.cropper("getImageData");
|
|
$('.get-image-data').val(JSON.stringify(result));
|
|
});
|
|
|
|
// Get Container Data
|
|
$('.get-container-data-btn').on('click',function(){
|
|
result = $image.cropper("getContainerData");
|
|
$('.get-container-data').val(JSON.stringify(result));
|
|
});
|
|
|
|
// Get Canvas Data
|
|
$('.get-canvas-data-btn').on('click',function(){
|
|
result = $image.cropper("getCanvasData");
|
|
$('.get-canvas-data').val(JSON.stringify(result));
|
|
});
|
|
|
|
// Get Cropbox Data
|
|
$('.get-cropbox-data-btn').on('click',function(){
|
|
result = $image.cropper("getCropBoxData");
|
|
$('.get-cropbox-data').val(JSON.stringify(result));
|
|
});
|
|
|
|
// Download Cropped Canvas
|
|
$('.download-cropped-canvas-btn').on('click',function(){
|
|
|
|
});
|
|
|
|
// Rotate Image -45 Degree
|
|
$('.rotate-m45-deg').on('click',function(){
|
|
$image.cropper('rotate', -45);
|
|
});
|
|
|
|
// Rotate Image 45 Degree
|
|
$('.rotate-45-deg').on('click',function(){
|
|
$image.cropper('rotate', 45);
|
|
});
|
|
|
|
// Rotate Image 180 Degree
|
|
$('.rotate-180-deg').on('click',function(){
|
|
$image.cropper('rotate', 180);
|
|
});
|
|
|
|
// Flip Horizontal
|
|
$('.flip-horizontal').on('click',function(){
|
|
var dataOption = $(this).data('option');
|
|
$image.cropper('scaleX', -dataOption);
|
|
$(this).data('option', -dataOption);
|
|
});
|
|
|
|
// Flip Vertical
|
|
$('.flip-vertical').on('click',function(){
|
|
var dataOption = $(this).data('option');
|
|
$image.cropper('scaleY', -dataOption);
|
|
$(this).data('option', -dataOption);
|
|
});
|
|
|
|
// Zoom In
|
|
$('.zoom-in').on('click',function(){
|
|
$image.cropper('zoom', 0.1);
|
|
});
|
|
|
|
|
|
/***********************************
|
|
* Basic Cropper *
|
|
***********************************/
|
|
$('.basic-cropper').cropper({
|
|
viewMode: 1,
|
|
restore: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
|
|
/*********************************
|
|
* No Overlay *
|
|
*********************************/
|
|
$('.no-overlay').cropper({
|
|
viewMode: 1,
|
|
modal: false,
|
|
restore: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
/****************************************
|
|
* 16:9 Aspect Ratio *
|
|
****************************************/
|
|
$('.aspect-ratio-16-9').cropper({
|
|
viewMode: 1,
|
|
aspectRatio: 16/9,
|
|
autoCropArea: 0.65,
|
|
restore: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
|
|
/***************************************
|
|
* 4:3 Aspect Ratio *
|
|
***************************************/
|
|
$('.aspect-ratio-4-3').cropper({
|
|
viewMode: 1,
|
|
aspectRatio: 4/3,
|
|
autoCropArea: 0.65,
|
|
restore: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
/*************************************
|
|
* Fixed Crop Box *
|
|
*************************************/
|
|
$('.fixed-crop-box').cropper({
|
|
viewMode: 1,
|
|
dragMode: 'none',
|
|
autoCropArea: 0.65,
|
|
restore: false,
|
|
cropBoxMovable: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
/******************************************
|
|
* Fixed Size Crop Box *
|
|
******************************************/
|
|
$('.fixed-size-crop-box').cropper({
|
|
viewMode: 1,
|
|
dragMode: 'none',
|
|
autoCropArea: 0.65,
|
|
restore: false,
|
|
cropBoxResizable: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
/*************************************
|
|
* Disable Guides *
|
|
*************************************/
|
|
$('.disable-guides').cropper({
|
|
viewMode: 1,
|
|
autoCropArea: 0.65,
|
|
guides: false,
|
|
restore: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
/***********************************************
|
|
* Disable Center Indicator *
|
|
***********************************************/
|
|
$('.disable-center-indicator').cropper({
|
|
viewMode: 1,
|
|
autoCropArea: 0.65,
|
|
center: false,
|
|
restore: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
/****************************************
|
|
* Disable Auto Crop *
|
|
****************************************/
|
|
$('.disable-auto-crop').cropper({
|
|
autoCrop: false,
|
|
viewMode: 1,
|
|
autoCropArea: 0.65,
|
|
restore: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
|
|
/*******************************************
|
|
* Disable New Crop Box *
|
|
*******************************************/
|
|
$('.disable-new-crop-box').cropper({
|
|
dragMode: 'none',
|
|
viewMode: 1,
|
|
autoCropArea: 0.65,
|
|
restore: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
/************************************
|
|
* Movable Image *
|
|
************************************/
|
|
$('.movable-image').cropper({
|
|
viewMode: 1,
|
|
dragMode: 'move',
|
|
autoCropArea: 0.65,
|
|
restore: false,
|
|
cropBoxMovable: false,
|
|
cropBoxResizable: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
|
|
/*************************************
|
|
* Zoomable Image *
|
|
*************************************/
|
|
$('.zoomable-image').cropper({
|
|
viewMode: 1,
|
|
dragMode: 'crop',
|
|
autoCropArea: 0.65,
|
|
restore: false,
|
|
zoomable: true,
|
|
zoomOnTouch: true,
|
|
cropBoxMovable: false,
|
|
cropBoxResizable: false
|
|
});
|
|
|
|
/****************************************
|
|
* Minimum Crop Area *
|
|
****************************************/
|
|
$('.min-crop-area').cropper({
|
|
minCropBoxWidth: 100,
|
|
minCropBoxHeight: 100,
|
|
viewMode: 1,
|
|
autoCropArea: 0.65,
|
|
dragMode: 'crop',
|
|
restore: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
/*****************************************
|
|
* Disable Background *
|
|
*****************************************/
|
|
$('.disable-background').cropper({
|
|
background: false,
|
|
viewMode: 1,
|
|
autoCropArea: 0.65,
|
|
dragMode: 'crop',
|
|
restore: false,
|
|
zoomOnWheel: false
|
|
});
|
|
|
|
|
|
/***********************************
|
|
* Rotate Image *
|
|
***********************************/
|
|
$('.rotate-image').cropper({
|
|
viewMode: 1,
|
|
autoCropArea: 0.65,
|
|
dragMode: 'crop',
|
|
restore: false,
|
|
zoomOnWheel: false,
|
|
built: function () {
|
|
$('.rotate-image').cropper('rotate', 45);
|
|
}
|
|
});
|
|
|
|
/**********************************
|
|
* Scale Image *
|
|
**********************************/
|
|
$('.scale-image').cropper({
|
|
viewMode: 1,
|
|
autoCropArea: 0.65,
|
|
dragMode: 'crop',
|
|
restore: false,
|
|
zoomOnWheel: false,
|
|
built: function () {
|
|
$('.scale-image').cropper('scale', -1); // Flip both horizontal and vertical
|
|
}
|
|
});
|
|
|
|
}); |