73

タグ内の動画を水平または垂直にミラーリングすることは可能ですか?

4

4 に答える 4

146

CSS33D変換を使用してそれを行うことができます。

#videoElement
{
    transform: rotateY(180deg);
    -webkit-transform:rotateY(180deg); /* Safari and Chrome */
    -moz-transform:rotateY(180deg); /* Firefox */
}

これにより、Y軸を中心に180度回転し(現在は後ろから見ています)、ミラーリングされているのと同じ外観になります。

http://jsfiddle.net/DuT9U/1/の例

于 2013-01-22T10:08:42.150 に答える
12

CSS3のscaleXまたはscaleYを-1に設定して、ビデオをそれぞれ水平または垂直に反転させることができます。

于 2013-01-22T10:11:32.273 に答える
9

JavaScriptを使用して、videoがビデオ要素の場合、ミラーリング(水平方向に反転)するには、

video.style.cssText = "-moz-transform: scale(-1, 1); \
-webkit-transform: scale(-1, 1); -o-transform: scale(-1, 1); \
transform: scale(-1, 1); filter: FlipH;";

垂直に反転するには、

video.style.cssText = "-moz-transform: scale(1, -1); \
-webkit-transform: scale(1, -1); -o-transform: scale(1, -1); \
transform: scale(1, -1); filter: FlipV;";
于 2014-05-07T23:45:48.777 に答える
3

万が一、誰かが実用的な例を望んでいる場合は、ここにコードがあります(ミラーリング/回転)。スタイルタグの下のビデオ要素#videoElementを参照してください。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta content="stuff, to, help, search, engines, not" name="keywords">
<meta content="What this page is about." name="description">
<meta content="Display Webcam Stream" name="title">
<title>Display Webcam Stream</title>

<style>
#container {
    margin: 0px auto;
    width: 500px;
    height: 375px;
    border: 10px #333 solid;
}
#videoElement {
    width: 500px;
    height: 375px;
    background-color: #666;
    /*Mirror code starts*/
    transform: rotateY(180deg);
    -webkit-transform:rotateY(180deg); /* Safari and Chrome */
    -moz-transform:rotateY(180deg); /* Firefox */
    /*Mirror code ends*/
}

</style>
</head>

<body>
<div id="container">
    <video autoplay="true" id="videoElement">

    </video>
</div>
<script>
 var video = document.querySelector("#videoElement");

 navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.oGetUserMedia;

 if (navigator.getUserMedia) {
     navigator.getUserMedia({video: true}, handleVideo, videoError);
 }

 function handleVideo(stream) {
     video.src = window.URL.createObjectURL(stream);
 }

 function videoError(e) {
     // do something
}
</script>
</body>
</html>
于 2018-05-31T20:39:22.730 に答える