jcrop - результаты выбора раунда - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь использовать jcrop, однако, будучи новичком в jquery, я немного озадачен тем, как использовать функцию round в функции jquery.

Поскольку я представляю результаты через переменные PHP, и ониПри использовании в jquery на экране, я бы предпочел округлять их, как в jquery, таким образом, обеспечивая согласованность в jquery и php.Я не хотел бы, чтобы один округлился, а другой округлился.Похоже, что поведение по умолчанию для округления заключается в округлении до ближайшего целого числа, и это нормально.

Мой текущий скрипт (с некоторыми php)

<?php
$boxwidth=500;
$boxheight=500;
?>
<script>
$(function() {
    $('#cropbox').Jcrop({ boxWidth: <?php echo $boxwidth;?>, boxHeight: <?php echo $boxheight;?> });
});


$(document).ready(function()
{
// Update co-ordinates
    function updateCoordinates(cropbox)
    {
        $("#crop_x").val(cropbox.x);
        $("#crop_y").val(cropbox.y);
        $("#width").val(cropbox.w);
        $("#height").val(cropbox.h);
    }



    // Attach jCrop
    $("#cropbox").Jcrop({
    <?php echo (isset($_POST['aspect_ratio']) ? 'aspectRatio: ' . ((float)$_POST['width'] / (float)$_POST['height']) . ',' : ''); ?>
        onChange: updateCoordinates,
        onSelect: updateCoordinates
    });
});
-->
</script>

Я не знаком с этим типом кодаи не знаю, как округлить результаты.Я не отображаю реальный файл изображения, а версию браузера с измененным размером и часто получаю результаты размером 100,3394567892 x 100,544222 пикселей, что приводит к изображению размером 100x101.Я знаю, что это не будет «с точностью до пикселя», и мне, возможно, придется согласиться на 99x99, когда я хочу 100x100, но отображаемый размер будет соответствовать конечному результату, и я бы исключил отображение размера изображения с 10 цифрами после десятичного числа.

1 Ответ

0 голосов
/ 02 марта 2019

после нескольких попыток получения фигурки из кода в OP я применил следующие изменения:

    $("#crop_x").val(cropbox.x);
    $("#crop_y").val(cropbox.y);
    $("#width").val(cropbox.w);
    $("#height").val(cropbox.h);

до

    $("#crop_x").val(Math.round(cropbox.x));
    $("#crop_y").val(Math.round(cropbox.y));
    $("#width").val(Math.round(cropbox.w));
    $("#height").val(Math.round(cropbox.h));
...