JSFiddle - React, Tailwind, and code Playground

HTML

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
viewBox="0 0 110.28 130">
    <defs>
        <clipPath id="hexagonal-mask">
            <polygon id="hex" class="path" stroke-width="3" stroke-miterlimit="10" points="55.537,127.59 1.795,96.562 1.795,34.504 55.537,3.475 109.28,34.504 
    109.28,96.562 " />
        </clipPath>
    </defs> 
    
    
    
    
    <a xlink:href="http://labs.sawyerhollenshead.com/lab/svg-clippath/images/brooklyn.jpg">
         <image clip-path="url(#hexagonal-mask)" xlink:href="http://labs.sawyerhollenshead.com/lab/svg-clippath/images/brooklyn.jpg" class="imagepath" height="100%" width="100%" />
        </a>

    <use xlink:href="#hex" fill="none" stroke="#3498db"/>
</svg>

CSS

#hex {
    overflow:hidden;
}

svg {
    padding: 50px;
    width: 200px;
    height: 200px;
    transition: all 0.25s;
}

svg #hex {
    -ms-transform: rotate(0deg); /* IE 9 */
    -webkit-transform: rotate(0deg); /* Chrome, Safari, Opera */
    transform: rotate(0deg);

    -ms-transform-origin: 50% 50%;
    -webkit-transform-origin: 50% 50%;
    transform: 50% 50%;
}

svg:hover #hex {
    -ms-transform: rotate(7deg); /* IE 9 */
    -webkit-transform: rotate(7deg); /* Chrome, Safari, Opera */
    transform: rotate(7deg);
}

JavaScript

console.log(document.getElementById("hex").getBBox());