🔄 图片旋转工具

在线免费旋转图片,支持90度/任意角度旋转和翻转镜像,批量处理,纯前端本地处理

💡 提示:所有操作在浏览器本地完成,图片不会上传服务器,安全可靠。
🔄

拖拽图片到此处

或点击选择图片,支持旋转和翻转,批量处理

什么是图片旋转?

图片旋转是指将图片按照一定的角度进行旋转调整的操作,包括固定角度旋转(90度、180度、270度)、任意角度旋转,以及水平翻转、垂直翻转(镜像)等。旋转是最基础的图片编辑操作之一,常用于纠正照片方向、调整构图、制作镜像效果等。本工具完全在浏览器本地运行。

图片旋转的常见应用场景

1. 纠正照片方向

用手机拍摄照片时,如果手机方向传感器不准确,或者照片的EXIF方向信息丢失,导入电脑后可能会出现方向不对的情况(横拍的照片显示为纵向)。使用旋转工具可以快速将照片调整到正确的方向,保证正常浏览和使用。这是最常见的旋转使用场景。

2. 调整构图角度

拍照时可能因为手抖或环境限制,导致照片中的水平线或垂直线倾斜。通过轻微旋转图片(±5度以内),可以校正倾斜的画面,让地平线或建筑边缘恢复水平/垂直,照片看起来更端正专业。这种微调在风景照和建筑摄影中经常用到。

3. 制作镜像效果

水平翻转或垂直翻转可以制作镜像对称效果,常用于创意摄影、设计素材制作、表情包制作等场景。比如将一张左右对称的脸照片翻转后拼接,可以观察面部对称性;或者将文字翻转后制作印章效果、水中倒影效果等。

4. 适应不同显示需求

不同的使用场景需要不同方向的图片:手机壁纸需要竖版、电脑壁纸需要横版、PPT配图可能需要特定方向。通过旋转可以快速改变图片方向,适应不同的显示需求。比如将横拍的风景照旋转90度用作手机壁纸。

如何使用图片旋转工具

  1. 上传图片 — 点击拖拽区域或直接将图片拖入,支持批量上传多张图片。
  2. 旋转/翻转 — 点击快速旋转按钮(左/右90度、180度)或拖动滑块调整任意角度,也可以水平/垂直翻转。
  3. 调整参数 — 选择输出格式和质量,非直角旋转时可设置背景颜色。
  4. 下载图片 — 点击下载保存处理后的图片,批量上传的可以批量下载。

为什么选择本工具?

技术原理

图片旋转的核心是Canvas API的transform变换。Canvas提供了rotate()、scale()、translate()等变换方法,可以对绘制的图像进行几何变换。旋转的基本原理是:(1) 创建一个新的Canvas,尺寸根据旋转角度计算;(2) 将Canvas的坐标原点平移到中心;(3) 调用rotate()方法旋转坐标系;(4) 将图片绘制到旋转后的坐标系中;(5) 导出旋转后的图片。

对于90度的整数倍旋转,可以直接交换宽高,不会有像素损失和锯齿。对于任意角度的旋转,旋转后的图片尺寸会变大(比原图大),因为需要容纳旋转后四个角的位置,边角会产生空白三角形区域,需要用背景色填充。水平翻转实际上是scale(-1, 1)的缩放变换,垂直翻转是scale(1, -1)。

// 图片旋转核心代码
function rotateImage(sourceImg, angle, bgColor) {
  const rad = angle * Math.PI / 180;
  const sin = Math.abs(Math.sin(rad));
  const cos = Math.abs(Math.cos(rad));
  // 计算旋转后画布尺寸
  const newW = sourceImg.width * cos + sourceImg.height * sin;
  const newH = sourceImg.width * sin + sourceImg.height * cos;
  
  const canvas = document.createElement('canvas');
  canvas.width = newW;
  canvas.height = newH;
  const ctx = canvas.getContext('2d');
  
  // 填充背景色
  ctx.fillStyle = bgColor;
  ctx.fillRect(0, 0, newW, newH);
  
  // 平移到中心并旋转
  ctx.translate(newW / 2, newH / 2);
  ctx.rotate(rad);
  ctx.drawImage(sourceImg, -sourceImg.width / 2, -sourceImg.height / 2);
  
  return canvas.toDataURL('image/jpeg', 0.8);
}

旋转注意事项

常见问题

旋转会降低图片质量吗?
90度、180度、270度的整直角旋转是无损的,只是像素位置的重新排列,不会降低质量。但任意角度旋转(如30度)需要像素插值计算,会有轻微的质量损失。建议尽量使用整直角旋转,或在原图上一次完成所有旋转操作。
支持批量处理多张图片吗?
支持。您可以一次上传多张图片,每张图片都会独立处理。处理完成后可以批量下载所有图片。注意每张图片的旋转设置是独立的,切换图片时需要重新调整。
水平翻转和镜像有什么区别?
水平翻转就是左右镜像,垂直翻转就是上下镜像。水平翻转使图片左右颠倒,就像从镜子里看一样;垂直翻转使图片上下颠倒,就像倒过来看一样。两者是不同方向的镜像操作。
旋转后背景为什么有空白?
当旋转角度不是90度的整数倍时,旋转后的图片四个角会超出原来的矩形范围,形成一个更大的旋转矩形,边角会有三角形的空白区域。这些区域默认用白色填充,您可以自定义背景颜色,或者选择PNG格式使其透明。
可以精确指定旋转角度吗?
可以。除了点击快速旋转按钮外,还可以拖动滑块在-180度到180度之间自由调整旋转角度,旁边会显示当前角度数值。也可以直接在滑块上精确调整到需要的角度。
图片会上传到服务器吗?
绝对安全。本工具所有处理都在您的浏览器本地完成,图片文件不会上传到任何服务器。您的图片内容完全在本地处理,不会泄露给第三方,请放心使用。

🏷️ 相关标签

隐私安全图片处理图片编辑设计工具在线工具ROT13时间日期加密解密