当前位置:首页 > JavaScript

js实现图片翻转

2026-04-04 06:31:22JavaScript

实现图片翻转的JavaScript方法

使用JavaScript实现图片翻转可以通过CSS的transform属性或Canvas的drawImage方法。以下是两种常见方式:

js实现图片翻转

使用CSS和JavaScript控制翻转

通过修改元素的transform样式实现水平或垂直翻转:

js实现图片翻转

// 获取图片元素
const img = document.getElementById('myImage');

// 水平翻转
img.style.transform = 'scaleX(-1)';

// 垂直翻转
img.style.transform = 'scaleY(-1)';

// 同时水平和垂直翻转
img.style.transform = 'scale(-1, -1)';

使用Canvas实现高级翻转

通过Canvas可以更灵活地控制翻转效果,并支持旋转角度:

function flipImage(src, horizontal = true, vertical = false) {
  const canvas = document.createElement('canvas');
  const ctx = canvas.getContext('2d');
  const img = new Image();

  img.onload = function() {
    canvas.width = img.width;
    canvas.height = img.height;

    // 设置翻转参数
    ctx.scale(
      horizontal ? -1 : 1,
      vertical ? -1 : 1
    );

    // 调整绘制位置
    ctx.drawImage(
      img,
      horizontal ? -img.width : 0,
      vertical ? -img.height : 0
    );

    // 将结果插入DOM
    document.body.appendChild(canvas);
  };

  img.src = src;
}

// 调用示例
flipImage('image.jpg', true, false);

动态切换翻转状态

结合事件监听实现交互式翻转:

const btnFlip = document.getElementById('flipBtn');
const img = document.getElementById('myImage');
let isFlipped = false;

btnFlip.addEventListener('click', () => {
  isFlipped = !isFlipped;
  img.style.transform = isFlipped ? 'scaleX(-1)' : 'scaleX(1)';
});

注意事项

  • CSS翻转性能较好,适合简单场景
  • Canvas方案适合需要后续图像处理的场景
  • 翻转后可能需要调整元素布局以避免位置偏移
  • 对于<img>标签,翻转不会影响原始图片数据

标签: 图片js
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

h5实现图片压缩

h5实现图片压缩

使用Canvas API压缩图片 HTML5的Canvas API可以通过调整画布尺寸和图像质量来实现图片压缩。创建一个Canvas元素,将图片绘制到Canvas上,再通过toDataURL或toBl…

css制作图片

css制作图片

使用CSS创建图片效果 CSS可以通过多种方式实现图片的显示、处理和特效。以下是几种常见的方法: 使用background-image属性 在CSS中可以通过background-image属性将图…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…