如何使用HTML/CSS/JS旋转图像?

xj3cbfub  于 2023-01-27  发布在  其他
关注(0)|答案(1)|浏览(146)

我正在尝试以选定的Angular (0、90、180、270)旋转图像(更确切地说是流视频)。
我的代码不起作用,我想我离解决问题不远了。
完整代码来自本例的ESP 32-CAM。
https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/

/* CSS ============================= */

@media (min-width: 800px) and (orientation:landscape) {
    #content {
        display:flex;
        flex-wrap: nowrap;
        align-items: stretch
    }

    figure img {
        z-index: 0;
        display: block;
        max-width: 100%;
        max-height: calc(100vh - 40px);
    }
}

/* HTML ============================= */

    <div class="input-group" id="rotation-group">
        <label for="rotation">Rotation</label>
        <select id="rotation" class="default-action">
            <option value="0" selected="selected">0°</option>
            <option value="90deg">90°</option>
            <option value="180deg">180°</option>
            <option value="-90deg">-90°</option>
        </select>
    </div>

/* JS ============================= */
document.addEventListener('DOMContentLoaded', function (event) {

  const view = document.getElementById('stream')
  const viewContainer = document.getElementById('stream-container')

  const startStream = () => {
    view.src = `${streamUrl}/stream`
    show(viewContainer)
    streamButton.innerHTML = 'Stop Stream'
  }

  const stopStream = () => {
    window.stop();
    streamButton.innerHTML = 'Start Stream'
  }

  // Rotation
  var rot_value = document.getElementById('rotation').value

  //FIXME doesn't work
  view:transform.rotation(rot_value)
mf98qq94

mf98qq941#

我不知道一个流媒体视频是否和普通的HTML5视频一样,但是如果是的话,这里有一些css来旋转一个视频。这也适用于任何其他普通的DOM元素,所以图像也可以用它来工作。

video{
  -moz-transform:rotate(20deg);
  -webkit-transform:rotate(20deg);
  -o-transform:rotate(20deg);
  -ms-transform:rotate(20deg);
  transform:rotate(20deg);
}

你可以让它在指定的时间内发生,如下所示:

video {
  transition: all 0.5s linear;
}

如果您需要任何其他内容,请发表评论

相关问题