Javascript / jQuery图像缩放插件[关闭]

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

我需要以固定大小的div显示图像。在div下面必须有一些控件,比如光标条,它设置显示图像的分辨率。我不太介意写这个东西,但我认为它可能已经存在了。为什么我找不到这样的东西?

(我对jQZoom和zoomimage等不感兴趣的东西不允许用户动态选择显示分辨率。)

javascript jquery image zoom
2个回答
2
投票

由于这个问题现在已被看到超过1k次,我将其解决方案加入其中。随意复制和适应。

该解决方案涉及jQuery UI滑块插件。主要是我们创建一个固定大小的div,overflow:scroll,包含一个img标签,我们在它下面添加一个滑块。滑块'change'事件绑定到img @ width / @ height属性的重新缩放。

以下是我们所做的摘录:

HTML

    <div id="pictureFilePreview">
        <img id="pictureFilePreviewImg" src="style/images/spacer.gif"/>
    </div>
    <div id="pictureSlider"/>

JS

$('#pictureFilePreview').css('overflow','scroll');
$('#pictureFilePreviewImg')
    .attr("src", "http://url.of.the.image")
    .css("display","block")
    .bind("load", function(){ //wait for complete load of the image
        // Slider  
        var initHeight = parseInt($('#pictureFilePreviewImg').attr("height"));  
        var initWidth = parseInt($('#pictureFilePreviewImg').attr("width"));  
        if ($('#pictureFilePreview').width() < initWidth 
            || $('#pictureFilePreview').height() < initHeight) {                

            var deltaW = $('#pictureFilePreview').width() - initWidth;  
            var deltaH = $('#pictureFilePreview').height() - initHeight;
            var ratio = 0;
            if (deltaW < deltaH) {
                ratio = ($('#pictureFilePreview').width() / initWidth) * 100;
            } else {
                ratio = ($('#pictureFilePreview').height() / initHeight) * 100;
            }
            $('#pictureSlider').slider({  
                range: false,
                min : ratio,
                values: [100],
                change: function(event, ui) {  
                    var newHeight = ((initHeight) * ui.value / 100);  
                    var newWidth = ((initWidth) * ui.value / 100); 
                    $('#pictureFilePreviewImg').attr("height",newHeight);  
                    $('#pictureFilePreviewImg').attr("width",newWidth);  
                    $('#pictureFilePreview').css('overflow',ui.value === 0?'visible':'scroll');  
                }  
            }); 
        }
    });

1
投票

不知道它是否值得为你付出努力,但有一些很棒的图书馆可以在卡布奇诺做到这一点。本教程演练向您展示如何构建缩放和旋转图像的应用程序:

Scrapbook tutorial

© www.soinside.com 2019 - 2024. All rights reserved.