You need to enable JavaScript to run this app. 如何在Flutter中实现图像翻转:适配相机拍摄图片的翻转需求
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter中实现图像翻转:适配相机拍摄图片的翻转需求

长颈鹿翻转效果示例
我通过相机捕获图像后,希望参考示例中长颈鹿样图展示的效果,对拍摄得到的图像完成对应的翻转操作。

实现方案

按使用场景选对应方法:

预览阶段实现翻转

如果不需要修改原始图像文件,仅在相机预览、图片展示页达到镜像效果,直接给图像元素加变换属性即可:

  • 水平翻转(即示例长颈鹿的左右镜像效果):transform: scaleX(-1);
  • 垂直翻转(上下镜像):transform: scaleY(-1);

生成翻转后的图像文件

需要把翻转效果保存为新图片文件的,按技术栈选:

  • Python(OpenCV):
    # 传入原图,1=水平翻转、0=垂直翻转、-1=双方向同时翻转
    flipped_img = cv2.flip(captured_img, 1)
    
  • Python(PIL/Pillow):
    flipped_img = original_img.transpose(Image.FLIP_LEFT_RIGHT)
    
  • Android(原生Bitmap):
    val flipMatrix = Matrix().apply { postScale(-1f, 1f) } // 水平翻转,垂直改为postScale(1f, -1f)
    val flippedBitmap = Bitmap.createBitmap(originalBitmap, 0, 0, originalBitmap.width, originalBitmap.height, flipMatrix, true)
    
  • iOS(原生UIImage):
    直接调用originalImage.withHorizontallyFlippedOrientation()得到水平翻转后的图片。

已拍摄单图快速处理

无需写代码的场景直接用系统工具:

  • Windows:「画图」打开图片,工具栏选「翻转 -> 水平翻转」
  • Mac:「预览」打开图片,顶部菜单选「工具 -> 水平翻转」
  • 手机端:系统相册的图片编辑功能自带「镜像/翻转」选项

内容的提问来源于stack exchange,提问作者Arslan Ehsan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.05 10:15:04