当前位置:首页 > JavaScript

js实现旋转90

2026-01-30 11:44:27JavaScript

实现图片旋转90度的JavaScript方法

通过Canvas API可以轻松实现图片旋转90度的功能。以下是具体实现步骤:

function rotateImage90(imageElement) {
  const canvas = document.createElement('canvas');
  const ctx = canvas.getContext('2d');

  // 交换宽高尺寸以适应旋转
  canvas.width = imageElement.height;
  canvas.height = imageElement.width;

  // 平移并旋转画布
  ctx.translate(canvas.width / 2, canvas.height / 2);
  ctx.rotate(Math.PI / 2);
  ctx.drawImage(imageElement, -imageElement.width / 2, -imageElement.height / 2);

  return canvas;
}

使用示例

const img = new Image();
img.src = 'example.jpg';
img.onload = function() {
  const rotatedCanvas = rotateImage90(img);
  document.body.appendChild(rotatedCanvas);
};

实现原理

Canvas的旋转操作通过坐标系变换完成。translate方法将原点移动到画布中心,rotate方法实现90度旋转(π/2弧度),最后drawImage在调整后的坐标系中绘制图像。

注意事项

旋转后的图像尺寸会发生变化,宽度变为原高度,高度变为原宽度。如果需要保持原始尺寸,需要额外进行缩放处理。

旋转操作会改变图像的EXIF方向信息,对于需要保留元数据的场景需特别注意。

js实现旋转90

标签: js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableElem…

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式…