jcrop - 圆形选择结果

问题描述 投票:0回答:1

我试图使用jcrop但是对jquery是新手我对如何在jquery函数中使用“round”函数感到有点困惑。

当我通过PHP变量提交结果并将它们用于jquery中的屏幕显示时,我宁愿将它们舍入为jquery中的获取,从而确保jquery和php的一致性。我不希望一个人围着而另一个人围着。看起来round的defailt行为是舍入到最接近的整数,这很好。

我的脚本当前(有一些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的图像。我知道它不会是“像素精确”,当我想要100x100时我可能不得不满足于99x99,但是显示的尺寸对于最终结果是真的,并且我将消除显示超过小数10位的图像大小。

php jquery jcrop
1个回答
0
投票

在对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));
© www.soinside.com 2019 - 2024. All rights reserved.