Rotate image with javascript

后端 未结 9 757
温柔的废话
温柔的废话 2020-11-27 04:17

I need to rotate an image with javascript in 90-degree intervals. I have tried a few libraries like jQuery rotate and Raphaël, but they have the same problem - The image is

9条回答
  •  难免孤独
    2020-11-27 04:43

    CSS can be applied and you will have to set transform-origin correctly to get the applied transformation in the way you want

    See the fiddle:

    http://jsfiddle.net/OMS_/gkrsz/

    Main code:

    /* assuming that the image's height is 70px */
    
    img.rotated {
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
    
        transform-origin: 35px 35px;
        -webkit-transform-origin: 35px 35px;
        -moz-transform-origin: 35px 35px;
        -ms-transform-origin: 35px 35px;
    }
    

    jQuery and JS:

    $(img)
        .css('transform-origin-x', imgWidth / 2)
        .css('transform-origin-y', imgHeight / 2);
    
    // By calculating the height and width of the image in the load function
    
    // $(img).css('transform-origin', (imgWidth / 2) + ' ' + (imgHeight / 2) );
    

    Logic:

    Divide the image's height by 2. The transform-x and transform-y values should be this value

    Link:

    transform-origin at CSS | MDN

提交回复
热议问题