javascript - react-image-crop 图像旋转问题仅在 iPhone 的纵向模式下
问题描述
我正在使用react-image-crop库让用户选择一张图片并进行裁剪。
在您使用 iPhone 之前,该库运行良好。拍摄肖像(又名垂直)照片时,在画布上裁剪时图像会处于正确的旋转方向,但完全是在错误的方向上。
这是创建者本人的一个代码框。
ISSUE 下面是一张图像,顶部是裁剪部分,图像方向正确,但底部的输出图像方向错误。
解决方案
需要加载一个额外的库:
npm i blueimp-load-image --S
将其加载到您的页面中
import loadImage from "blueimp-load-image/js";
而不是使用 fileReader,而是像这样使用库:
onSelectFile = e => {
if (e.target.files && e.target.files.length > 0) {
loadImage(
e.target.files[0],
img => {
var base64data = img.toDataURL(`image/jpeg`);
this.setState({ src: base64data });
},
{ orientation: true, canvas: true }
);
// const reader = new FileReader();
// reader.addEventListener('load', () =>
// this.setState({ src: reader.result })
// );
// reader.readAsDataURL(e.target.files[0]);
}
};
这是代码沙箱中的一个工作示例
推荐阅读
- powerbi - 如何根据条件分组和计数?
- csv - Kafka/Confluent CSV/SFTP 连接器和嵌套 json
- data-structures - 什么数据结构具有这些属性?
- sql - 使用子查询将 SQL 转换为 LINQ
- python - 在两个单独的文件中搜索字符串并使用 python3 仅打印匹配行的函数
- entity-framework - AutoMapper.Collection.EntityFramework System.InvalidOperationException 子集合删除实体
- django - Django Rest Framework - 为序列化程序编写一个显式的 .update() 方法
- python - 读取每列的第一个元素,然后读取 csv 文件中的整行
- applescript - 为什么使用 Applescript 库会阻止我运行 shell 脚本?
- html - 水平居中引导图标