Utilisation de jcrop sur les images sensibles

Depuis jcrop travaille actuellement sur les écrans tactiles je veux faire une application web qui l'utilise. J'ai tout qui fonctionne sur elle, mais si j'essaie de faire le responsive design afin que l'utilisateur peut voir l'ensemble de l'image avant le recadrage (c'est la largeur est un pourcentage de l'écran), puis la zone recadrée ne sera pas la même que celle sélectionnée par l'utilisateur. Les coordonnées de la sélection faite sur le dessus de l'image ne correspond pas à ceux de l'image en pleine taille.

Jcrop comprend une solution à un problème similaire (lors de la manipulation des images énormes) à l'aide de la boîte de dimensionnement ou de la truesize méthode, mais aucun d'eux ne fonctionne que si la largeur de l'image est basée sur les pourcentages, au lieu d'une largeur en pixels.

La seule solution que je vois est de redimensionner l'image à l'aide de requêtes de média et d'en faire 3 ou 4 versions, en fonction de la largeur de l'écran, mais je préfère rester à l'pourcentage en fonction de redimensionnement parce que c'est beaucoup mieux.

C'est mon jcrop appel:

      var jcrop_api, boundx, boundy;
    $('#target').Jcrop({
        onChange: updatePreview,
        onSelect: updatePreview,
        aspectRatio: 0.75
    },function(){
        //Use the API to get the real image size
        var bounds = this.getBounds();
        boundx = bounds[0];
        boundy = bounds[1];
        trueSize: [900,600],
        //Store the API in the jcrop_api variable
        jcrop_api = this;
    });
            function updatePreview(c){
        if (parseInt(c.w) > 0){
            var rx = <?echo $width;?> / c.w;
            var ry = <?echo $height;?> / c.h;

            $('#preview').css({
                width: Math.round(rx * boundx) + 'px',
                height: Math.round(ry * boundy) + 'px',
                marginLeft: '-' + Math.round(rx * c.x) + 'px',
                marginTop: '-' + Math.round(ry * c.y) + 'px'
            });
        }

        $('#x').val(c.x);
        $('#y').val(c.y);
        $('#w').val(c.w);
        $('#h').val(c.h);

    };

source d'informationauteur Elaine Marley | 2012-11-30