使用 JavaScript 旋转图像

Shraddha Paghdar 2024年2月15日
使用 JavaScript 旋转图像

旋转 HTML 元素是使用 CSS 执行的常见要求。CSS 提供了一个转换属性,你可以使用它来完成此任务。在本文中,我们将学习如何使用 JavaScript 旋转图像。

使用 CSS 转换使用 JavaScript 旋转图像

CSS 变换属性允许你旋转、缩放、倾斜或移动元素。改变 CSS 视觉格式模型的坐标空间。如果属性的值不是 none,则创建堆栈上下文。在这种情况下,元素充当容器块,其位置根据其包含的元素设置为 position: fixedposition: absolute

转换属性可以指定为 none 关键字或一个或多个 transform 函数。如果 perspective() 是几个函数值之一,它必须首先出现。

语法:

transform: none;
transform: translateX($Xpx) rotate($Ydeg) translateY($Zpx);

当要应用一个或多个 CSS 变换函数时,变换值是 transform-function。变换函数从左到右相乘。从右到左的复合,有效地应用了变换。在上面的语法中,我们使用 translateX,它水平翻译具有特定像素的元素,translateY,它垂直翻译具有特定像素的元素,以及 rotate,它围绕一个特定角度旋转元素二维平面上的固定点。

none 表示不应应用任何转换。有关详细信息,请参阅 transform 文档。

<input id="button" type="button" value="Rotate">
<div id="img_container">
    <img src="https://www.google.com/images/srpr/logo3w.png" id="image">
<div>
let angle = 0, img = document.getElementById('img_container');
document.getElementById('button').onclick = function() {
  angle = (angle + 90) % 360;
  img.className = 'rotate' + angle;
}
#img_container.rotate90 {
  width: 100px;
  height: 820px
}
#image {
  transform-origin: top left;
  -webkit-transform-origin: top left;
}
#img_container.rotate90 #image {
  transform: rotate(90deg) translateY(-100%);
  -webkit-transform: rotate(90deg) translateY(-100%);
}

在上面的代码中,我们创建了一个容器,每次用户点击旋转按钮时,我们将当前角度加 90 度,取 360 度的模数。一旦找到最终角度,我们就可以添加其属性已使用 CSS 声明的预定义类。

该示例仅显示 90 度旋转,但你可以将其定义为任何角度,例如 45 度或 105 度等。上面代码的输出如下所示:

之前使用 css 在 JS 中旋转图像

之后使用 css 在 JS 中旋转图像

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

相关文章 - JavaScript Image