aboutsummaryrefslogtreecommitdiffstats
path: root/library/cropperjs/examples/a-range-of-aspect-ratio.html
diff options
context:
space:
mode:
Diffstat (limited to 'library/cropperjs/examples/a-range-of-aspect-ratio.html')
-rw-r--r--library/cropperjs/examples/a-range-of-aspect-ratio.html71
1 files changed, 71 insertions, 0 deletions
diff --git a/library/cropperjs/examples/a-range-of-aspect-ratio.html b/library/cropperjs/examples/a-range-of-aspect-ratio.html
new file mode 100644
index 000000000..fae5cb60b
--- /dev/null
+++ b/library/cropperjs/examples/a-range-of-aspect-ratio.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+ <title>Cropper.js</title>
+ <link rel="stylesheet" href="../dist/cropper.css">
+ <style>
+ .container {
+ max-width: 640px;
+ margin: 20px auto;
+ }
+
+ img {
+ max-width: 100%;
+ }
+ </style>
+</head>
+<body>
+
+ <div class="container">
+ <h1>Cropper with a range of aspect ratio</h1>
+ <div>
+ <img id="image" src="../docs/images/picture.jpg" alt="Picture">
+ </div>
+ </div>
+
+ <script src="../dist/cropper.js"></script>
+ <script>
+ window.addEventListener('DOMContentLoaded', function () {
+ var image = document.querySelector('#image');
+ var minAspectRatio = 0.5;
+ var maxAspectRatio = 1.5;
+ var cropper = new Cropper(image, {
+ ready: function () {
+ var cropper = this.cropper;
+ var containerData = cropper.getContainerData();
+ var cropBoxData = cropper.getCropBoxData();
+ var aspectRatio = cropBoxData.width / cropBoxData.height;
+ var newCropBoxWidth;
+
+ if (aspectRatio < minAspectRatio || aspectRatio > maxAspectRatio) {
+ newCropBoxWidth = cropBoxData.height * ((minAspectRatio + maxAspectRatio) / 2);
+
+ cropper.setCropBoxData({
+ left: (containerData.width - newCropBoxWidth) / 2,
+ width: newCropBoxWidth
+ });
+ }
+ },
+ cropmove: function () {
+ var cropper = this.cropper;
+ var cropBoxData = cropper.getCropBoxData();
+ var aspectRatio = cropBoxData.width / cropBoxData.height;
+
+ if (aspectRatio < minAspectRatio) {
+ cropper.setCropBoxData({
+ width: cropBoxData.height * minAspectRatio
+ });
+ } else if (aspectRatio > maxAspectRatio) {
+ cropper.setCropBoxData({
+ width: cropBoxData.height * maxAspectRatio
+ });
+ }
+ }
+ });
+ });
+ </script>
+</body>
+</html>