在画布上旋转图像
Rotating Image on Canvas
在我的web应用程序中,我允许用户选择图像。如果图像的高度大于宽度,则将图像旋转270度。
我对旋转图像的理想尺寸感到困惑,因为我以后会保存旋转图像。
例如,如果用户上传一张低分辨率的图片,图片的大小应该是多少?如果用户上传一张高分辨率的图片,图片的大小应该是多少?
我不希望像素失真。有什么好的库可以在客户端旋转图像?或者有什么算法能帮到我吗?
您可以像这样尝试简单的画布方法:
基本上你将在画布上绘制图像,旋转,然后将画布保存到dataUrl
var context = canvas.getContext('2d');
//save the context
//pushes a Matrix on the transformation stack
context.save();
context.translate(x, y); //where to put image (in the canvas)
context.rotate(angle); //angle in degrees (i think...)
context.scale(scale); //optional scale
//rotate around center of image
context.drawImage(bitmap, -image.width / 2, -image.height / 2);
//or rotate around top left corner of image
context.drawImage(image, 0, 0);
//restore the canvas
//pop a matrix off the transformation stack
context.restore();
//now save the canvas to a data url for download or to display in an image object / tag
var data = canvas.toDataUrl();
引用:https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Transformations
https://developer.mozilla.org/en/docs/Web/API/HTMLCanvasElement http://html5.litten.com/understanding-save-and-restore-for-the-canvas-context/可以使用Blob
对象方法。将图像转换为blob对象,您可以使用它。我不能帮助编写代码,因为我不太了解blobs。请对blobs做更多的研究,你可以用blobs实现你想要做的事情。
相关文章:
- 全屏背景图像+旋转图像
- 每次单击JQuery时旋转图像
- 旋转和取消旋转图像单击与 javascript
- SVG具有旋转图像的低性能
- 旋转图像,使其看起来像在旋转
- 向下滑动时旋转图像
- 滚动时旋转图像
- 使用 kineticjs 如何就地旋转图像对象
- 将变量 javascript 添加到用于旋转图像的链接中
- 旋转图像w/jQuery..但是调整大小不起作用
- 使用 JQueryRotate 逆时针旋转图像
- 在不旋转元素尺寸的情况下旋转图像
- 如何旋转图像并保存图像
- 在HTML5画布中,有没有办法以不同的角度旋转图像
- 在 html5 画布中用鼠标旋转图像
- 如何在时间变化时旋转图像
- 在横幅中水平对齐图像和 JavaScript 旋转图像
- 在 HTML 中旋转图像
- 如何使用 JavaScript 在 Web 中显示之前旋转图像
- jQuery - 旋转图像