3

jcropライブラリを使用すると、コールバックの戻りオブジェクトに小数が含まれる場合と含まれる場合がある理由を追跡できません。すべてのx1、x2、y1、y2、幅、高さは整数であると思います。

jcropの初期化は次のとおりです。

$('img.jsEditable').Jcrop({
    bgColor: 'black',
    bgOpacity: .4,
    setSelect: [0, 0, crop_width, crop_height],
    aspectRatio: 1,
    onSelect: saveCoordinates,
    minSize: [crop_width, crop_height],
    maxSize: [400, 400]
  });

ここで、crop_widthとcrop_heightは、私がどこかで設定した変数であり、たまたま150です。(デモのように)それらが設定されたピクセルになることを期待しています。

何かご意見は?
何かご意見は?

4

1 に答える 1

4

これは、Jcrop0.9.9と0.9.10の違いのようです。Webサイトhttp://deepliquid.com/projects/Jcrop/demos.php?demo=handlerからデモにアクセスし、ボックスをドラッグすると、コールバックで整数のみが取得されます。デモは最新ではなく、Jcrop0.9.9を使用しています。

ただし、Jcropをダウンロードすると、バージョン0.9.10を入手できます。ダウンロードに含まれているデモもJcrop0.9.10を使用しており、コールバックで小数を取得します。デモでバージョン0.9.10を交換し、代わりに0.9.9を使用すると、コールバックで整数座標のみが取得されます。

これをさらに調べると、656行目のjquery.Jcrop.jsのバージョン0.9.10で、座標の丸めが削除されたように見えます。リターンはから来ました:

return [ Math.round(xa), Math.round(ya), Math.round(xb), Math.round(yb) ];

return [xa, ya, xb, yb];

この理由はわかりませんが(githubのコミットコメントを調べましたが、何も飛び出しませんでした)、丸めを追加すると、コールバックで小数が表示されなくなります。

于 2012-11-29T19:35:42.690 に答える