Jquery JRAC获取坐标

时间:2013-07-31 16:46:34

标签: jquery image plugins

我已经尝试了2个小时,但我找不到找到坐标的方法 一旦我确定了裁剪的宽度和高度。 JRAC的文档也不好。 有没有人体验到宽度,高度,x,y的值?

1 个答案:

答案 0 :(得分:0)

您可以使用与文档中的示例相同的jrac 我只是添加jrac并将其与多jquery插件进行比较,因为jrac可以移动图像区域而那些jquery插件不能

Jquery的

$('.imageArea img').jrac({
                    'crop_width': parseInt(Math.round(cusW / 4) + 4),
                    'crop_height': parseInt(Math.round(cusH / 4) + 4),
                    'crop_left': 0,
                    'crop_top': 0,
                    'zoom_min': 0,
                    'zoom_max': 0,
                    'zoom_label': '',
                    'viewport_onload': function () {
                        $viewport = this;
                        var inputs = $("div.coords").find("input[type=text]");
                        var events = ['jrac_crop_x', 'jrac_crop_y', 'jrac_crop_width', 'jrac_crop_height', 'jrac_image_width', 'jrac_image_height'];

                        for (var i = 0; i < events.length; i++) {
                            var event_name = events[i];
                            // Register an event with an element.
                            $viewport.observator.register(event_name, inputs.eq(i));
                            // Attach a handler to that event for the element.
                            inputs.eq(i).bind(event_name, function (event, $viewport, value) {
                                $(this).val(value);
                            })
                            // Attach a handler for the built-in jQuery change event, handler
                            // which read user input and apply it to relevent viewport object.
                            .change(event_name, function (event) {
                                var event_name = event.data;
                                $viewport.$image.scale_proportion_locked = $("div.coords").find("input[type=checkbox]").is(':checked');
                                $viewport.observator.set_property(event_name, $(this).val());
                            })
                        }
                    }
                })
                // React on all viewport events.
                .bind('jrac_events', function (event, $viewport) {
                    //Check Image Crop Box Valid
                    if (parseInt($("#cropX").val()) > -1 && parseInt($("#cropY").val()) > -1) {
                        //Set Background
                        $("#cropW").css('background-color', 'chartreuse');
                        $("#cropH").css('background-color', 'chartreuse');
                    } else {
                        //Set Background
                        $("#cropW").css('background-color', 'salmon');
                        $("#cropH").css('background-color', 'salmon');
                    }
                });

HTML

<div class="coords">
                    <input id="cropX" type="text" value="" style="display: none;" />
                    <input id="cropY" type="text" value="" style="display: none;" />
                    <input id="cropW" type="text" value="" style="display: none;" />
                    <input id="cropH" type="text" value="" style="display: none;" />
                    <input type="checkbox" checked="checked" style="display: none;" />
                </div>