如何使用Javascript图像裁剪器“ Croppie”进行保存

詹姆士

Croppie使用DIV容器而不是CANVAS进行裁剪。我正在尝试找出如何将由此DIV生成的裁剪图像保存到服务器上的目录,例如通过“保存”按钮。

这是我的HTML代码...

<!-- begin snippet: js hide: false -->

<!-- language: lang-html -->

    <!DOCTYPE html>
    <html>
    <head>
        <title>Demo Croppie</title>
        <link rel="Stylesheet" type="text/css" href="css/croppie.css" />
        <link rel="Stylesheet" type="text/css" href="css/sweetalert.css" />

    </head>
    <body>

        <div id="testCanvas"></div>
        <div class="actions" style="margin-left: auto; margin-right: auto; width:250px;">
            <button class="vanilla-result">Result</button>
            <button class="vanilla-rotate" data-deg="-90">Rotate Left</button>
            <button class="vanilla-rotate" data-deg="90">Rotate Right</button>
        </div>

    <p><button onclick="function();">Save</button></p>


    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script src="js/croppie.js"></script>
    <script src="js/demo.js"></script>
    <script src="js/sweetalert.min.js"></script>
        <script>
          Demo.init();
        </script>

    </body>
    </html>

这是我的JavaScript配置...

function demoVanilla() {
    var vanilla = new Croppie(document.getElementById('testCanvas'), {
        viewport: { width: 300, height: 300, type: 'square' },
        boundary: { width: 350, height: 350 },
        enableOrientation: true
    });
    vanilla.bind({
        url: 'imgs/demo-1.jpg',
        orientation: 1
    });

    document.querySelector('.vanilla-result').addEventListener('click', function (ev) {
        vanilla.result('canvas').then(function (src) {
            popupResult({
                src: src
            });
        });
    });

    $('.vanilla-rotate').on('click', function(ev) {
        vanilla.rotate(parseInt($(this).data('deg')));
    });
}

其余的默认情况下不会更改,而Croppie会在https://github.com/Foliotek/Croppie上进行更改,例如demo.js等。

詹姆士

知道了!

感谢Croppie“ thedustinsmith”和“ TWFPSP”的开发人员之一,他们将我引向了正确的永恒资源及其提供的信息。

$( document ).ready(function() {
    vanillaRotate = document.querySelector('.vanilla-rotate');
    var $uploadCrop = $('#upload-demo');
        $uploadCrop.croppie({
            viewport: {
                width: 250,
                height: 250,
                type: 'square'
            },
            boundary: {
                width: 300,
                height: 300
            }
        });
        $uploadCrop.croppie('bind', 'imgs/cat.jpg');
        vanillaRotate.addEventListener('click', function() {
        vanilla.rotate(parseInt($(this).data('deg')));
        });
    $('.upload-result').on('click', function (ev) {
        $uploadCrop.croppie('result', {
            type: 'canvas',
            size: 'original'
        }).then(function (resp) {
            $('#imagebase64').val(resp);
            $('#form').submit();
        });
    });
});

HTML主体...

<form action="test-image.php" id="form" method="post">
<div id="upload-demo"></div>
<input type="hidden" id="imagebase64" name="imagebase64">
<a href="#" class="upload-result">Send</a>
</form>
<button class="vanilla-rotate" data-deg="-90">Rotate</button>

test-image.php ...

<?php
    if(isset($_POST['imagebase64'])){
        $data = $_POST['imagebase64'];

        list($type, $data) = explode(';', $data);
        list(, $data)      = explode(',', $data);
        $data = base64_decode($data);

        file_put_contents('image64.png', $data);
    }
?>

现在旋转功能不起作用,我正在尝试对其进行修复。似乎不知道如何在此设置中包括方向配置,这与演示文件中演示的demoUpload不同。但是至少保存到服务器的效果很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何裁剪图像并保存?

来自分类Dev

如何使用croppie js将裁剪的图像用于PHP并使用它?

来自分类Dev

使用JCrop保存裁剪的图像

来自分类Dev

使用 Laravel 保存裁剪图像

来自分类Dev

如何使用tensorflow对图像进行分类和裁剪?

来自分类Dev

jQuery插件Croppie裁剪图像错误

来自分类Dev

如何裁剪图像的任何选定区域并将其保存到服务器?

来自分类Dev

如何在css中进行图像裁剪

来自分类Dev

如何在css中进行图像裁剪

来自分类Dev

使用skimage旋转图像而不进行裁剪

来自分类Dev

使用CSS / Javascript进行自适应图像大小调整/裁剪

来自分类Dev

如何从保存的base64图像中裁剪未使用的画布空间?

来自分类Dev

使用Javascript裁剪图像(裁剪)

来自分类Dev

如何使用JavaScript裁剪图像的区域?

来自分类Dev

如何使用按钮使某些Croppie JavaScript旋转

来自分类Dev

如何使用php或javascript从服务器文件夹中的URL保存图像?

来自分类Dev

如何使用Laravel保存裁剪的头像

来自分类Dev

如何使用 angular 2 和 typescript 裁剪图像、调整裁剪框的大小并将其保存在另一个画布中

来自分类Dev

如何使用Matlab进行圆形裁剪?

来自分类Dev

如何从SD卡保存并获取图像裁剪的Android路径?

来自分类Dev

使用jQuery进行垂直居中和裁剪图像

来自分类Dev

如何使用AsciiDoctor裁剪/裁剪图像

来自分类Dev

WordPress:如何在媒体编辑器中进行裁剪

来自分类Dev

无法保存裁剪的图像-Android

来自分类Dev

在R中保存裁剪的图像

来自分类Dev

Papercrop无法保存裁剪的图像

来自分类Dev

Papercrop无法保存裁剪的图像

来自分类Dev

在R中保存裁剪的图像

来自分类Dev

如何通过与低分辨率裁剪图像进行比较来从另一个获取裁剪图像

Related 相关文章

  1. 1

    如何裁剪图像并保存?

  2. 2

    如何使用croppie js将裁剪的图像用于PHP并使用它?

  3. 3

    使用JCrop保存裁剪的图像

  4. 4

    使用 Laravel 保存裁剪图像

  5. 5

    如何使用tensorflow对图像进行分类和裁剪?

  6. 6

    jQuery插件Croppie裁剪图像错误

  7. 7

    如何裁剪图像的任何选定区域并将其保存到服务器?

  8. 8

    如何在css中进行图像裁剪

  9. 9

    如何在css中进行图像裁剪

  10. 10

    使用skimage旋转图像而不进行裁剪

  11. 11

    使用CSS / Javascript进行自适应图像大小调整/裁剪

  12. 12

    如何从保存的base64图像中裁剪未使用的画布空间?

  13. 13

    使用Javascript裁剪图像(裁剪)

  14. 14

    如何使用JavaScript裁剪图像的区域?

  15. 15

    如何使用按钮使某些Croppie JavaScript旋转

  16. 16

    如何使用php或javascript从服务器文件夹中的URL保存图像?

  17. 17

    如何使用Laravel保存裁剪的头像

  18. 18

    如何使用 angular 2 和 typescript 裁剪图像、调整裁剪框的大小并将其保存在另一个画布中

  19. 19

    如何使用Matlab进行圆形裁剪?

  20. 20

    如何从SD卡保存并获取图像裁剪的Android路径?

  21. 21

    使用jQuery进行垂直居中和裁剪图像

  22. 22

    如何使用AsciiDoctor裁剪/裁剪图像

  23. 23

    WordPress:如何在媒体编辑器中进行裁剪

  24. 24

    无法保存裁剪的图像-Android

  25. 25

    在R中保存裁剪的图像

  26. 26

    Papercrop无法保存裁剪的图像

  27. 27

    Papercrop无法保存裁剪的图像

  28. 28

    在R中保存裁剪的图像

  29. 29

    如何通过与低分辨率裁剪图像进行比较来从另一个获取裁剪图像

热门标签

归档