当前位置:首页 > 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="slider"> <div class="slides"> <img src="image1.jpg…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…