当前位置:首页 > 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在调整后的坐标系中绘制图像。

注意事项

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

js实现旋转90

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

标签: js
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…