自拍时图像旋转了90度
Image rotated 90 degrees when taken a selfie
我不知道该怎么解释,但我会尽力的。我需要建立一个网络应用程序,用户可以在那里拍摄他的照片并上传到服务器。当我尝试在纵向或横向模式下自拍并预览时,图像似乎旋转了90度。
如何在预览图像时解决此问题
<input type="file">
<div class="preview-nodeCenter nodeCenter fadeChange">
</div>
Onload我正在将图像设置为分区的背景。
$('input').change(function() {
var fr = new FileReader;
fr.onload = function() {
var data = fr.result;
$( ".nodeCenter" ).css( "background-image", 'url(' + data + ')' );
//img.src = fr.result;
};
fr.readAsDataURL(this.files[0]);
});
这是小提琴的链接http://jsfiddle.net/vh9ecjej/1/
尝试从手机上自拍或上传在手机上拍摄的照片(我使用iphone进行测试)
在相机中,旋转通常使用EXIF数据完成,您可以使用带有以下代码的EXIF-js库:
$('input').change(function() {
var fr = new FileReader;
fr.onload = function() {
var data = fr.result;
var node = $( ".nodeCenter" ).css( "background-image", 'url(' + data + ')' );
var image = new Image();
image.onload = function() {
EXIF.getData(image, function() {
var orientation = EXIF.getTag(this, "Orientation");
switch(orientation) {
case 3:
node.css('transform', 'rotate(180deg)');
break;
case 6:
node.css('transform', 'rotate(90deg)');
break;
case 8:
node.css('transform', 'rotate(-90deg)');
break;
}
});
};
image.src = data;
//img.src = fr.result;
};
fr.readAsDataURL(this.files[0]);
});
JSFIDDLE
代码不考虑翻转,因为我认为使用相机时不会发生翻转,所有Orientation标签值都可以在这里找到。
相关文章:
- 图像在旋转 90 度时脱离父 td
- 如何使我的功能360度旋转并上下移动
- 如何设置对象沿世界x轴旋转90度
- 如何将每个图形旋转90度
- 三.js设置旋转矩阵超过90度时的奇怪行为
- 将 d3.parset 可视化效果旋转 90 度(使可视化效果变为水平而不是垂直)
- CSS3 变换从 360 度旋转到 0 度
- 通过手机加载时,画布图像会将图像旋转 90 度
- 自拍时图像旋转了90度
- d3:计算两个节点之间的线的中点,画一条从它到一个新节点成90度角的线
- html将整个画布旋转90度
- 将2D画布(图像+文本)应用于3D表面,并进行360度旋转/动画-可以使用HTML5/CSS3/Javascript或F
- 未使用Chrome 37中的.transform应用旋转(90度)
- Three.js -当相机以90度角旋转时,为什么在x轴和z轴上旋转会产生相同的效果?
- 顺时针旋转画布90度,更新宽度和高度
- 旋转背景图像的Div 90度使用JQuery
- 根据其他图像的位置旋转图像90度
- 使用three.js和tween.js以90度增量旋转对象以创建360度循环
- 将桌子旋转90度
- 自动从-9度旋转到9度