Javascript - 沿对 Angular 线裁剪图像

标签 javascript html css

今天我遇到了一个棘手的问题,因为我被分配了一个 HTML5 元素。

该元素包括在斜坡上移动图片。我将在下图中演示这一点 demo

如您所见,我想在斜坡 AB 上将奥巴马的照片从 A 移动到 B。并且在移动的同时,画面被AB线裁剪和限制。 AB 线实际上是 PNG 图片的下边缘。

demo

最好的问候。

最佳答案

你可以尝试做一些转换:

想法是旋转一个外部框并包含一个图像,然后在内部旋转图像。

演示:http://jsbin.com/ozusic/1/edit

CSS:

  @keyframes "move" {
   0% {
      -webkit-transform: translateX(0px) translateY(0px) rotate(10deg);
      -moz-transform: translateX(0px) translateY(0px) rotate(10deg);
      -o-transform: translateX(0px) translateY(0px) rotate(10deg);
      -ms-transform: translateX(0px) translateY(0px) rotate(10deg);
      transform: translateX(0px) translateY(0px) rotate(10deg);
   }
   100% {
      -webkit-transform: translateX(500px) translateY(70px) rotate(10deg);
      -moz-transform: translateX(500px) translateY(70px) rotate(10deg);
      -o-transform: translateX(500px) translateY(70px) rotate(10deg);
      -ms-transform: translateX(500px) translateY(70px) rotate(10deg);
      transform: translateX(500px) translateY(70px) rotate(10deg);
   }

  }

  @-moz-keyframes move {
   0% {
     -moz-transform: translateX(0px) translateY(0px) rotate(10deg);
     transform: translateX(0px) translateY(0px) rotate(10deg);
   }
   100% {
     -moz-transform: translateX(500px) translateY(70px) rotate(10deg);
     transform: translateX(500px) translateY(70px) rotate(10deg);
   }

  }

  @-webkit-keyframes "move" {
   0% {
     -webkit-transform: translateX(0px) translateY(0px) rotate(10deg);
     transform: translateX(0px) translateY(0px) rotate(10deg);
   }
   100% {
     -webkit-transform: translateX(500px) translateY(70px) rotate(10deg);
     transform: translateX(500px) translateY(70px) rotate(10deg);
   }

  }

  @-ms-keyframes "move" {
   0% {
     -ms-transform: translateX(0px) translateY(0px) rotate(10deg);
     transform: translateX(0px) translateY(0px) rotate(10deg);
   }
   100% {
     -ms-transform: translateX(500px) translateY(70px) rotate(10deg);
     transform: translateX(500px) translateY(70px) rotate(10deg);
   }

  }

  @-o-keyframes "move" {
   0% {
     -o-transform: translateX(0px) translateY(0px) rotate(10deg);
     transform: translateX(0px) translateY(0px) rotate(10deg);
   }
   100% {
     -o-transform: translateX(500px) translateY(70px) rotate(10deg);
     transform: translateX(500px) translateY(70px) rotate(10deg);
   }

  }

  img {
      height: 100px;
      width: 100px;
      position: absolute;

      -webkit-animation: 5s move infinite;
      -moz-animation: 5s move infinite;
      -ms-animation: 5s move infinite;
      -o-animation: 5s move infinite;
      animation: 5s move infinite;
      z-index: -1;
  }

  div.box {
      margin-top: 50px;
      height: 150px;
      border: 3px solid black;

      -webkit-transform: rotate(-10deg);
      -moz-transform: rotate(-10deg);
      -o-transform: rotate(-10deg);
      -ms-transform: rotate(-10deg);
      transform: rotate(-10deg);
      overflow: hidden;
  }

HTML:

<div class='box'>
   <img src='http://www.biography.com/imported/images/Biography/Images/Profiles/O/Barack-Obama-12782369-2-402.jpg' />
</div>

关于Javascript - 沿对 Angular 线裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477984/

相关文章:

javascript - 当 Assets 的 URL 具有可变查询参数时如何缓存 Assets ?

html - 如何在一个 HTML 索引文件中获取多个背景图像?

javascript - 如何遍历 HTML DOM?以及如何获取元素的事件、样式和属性(附示例)

javascript - 制作一个带有 3 个参数的函数范围,有异常(exception)吗?

javascript - 使用 Javascript、CSS 和 HTML 玩内存游戏的问题

html - 使用 CSS 和 HTMl 实现

html - 使用 Angular2 单击更改图像

javascript - 使用变量访问嵌套的 Javascript 对象

javascript - 如何使用 jQuery 更改 SVG 元素属性?

android - 在人行横道浏览器中多次单击任何按钮不起作用