Canvas 方向显示不当
Canvas Orientation Displaying Impropely
由于 EXIF 元数据的原因,我收到一些需要翻转的图像。我使用 image-orientation: from-image 来修复 img 标签。 canvas 标签的等价物是什么。
CSS image-orientation
没有得到很好的支持,MDN 文档说它可能会被弃用。如果您知道所有图像都已旋转(沿相同方向),您可以:
a.) 在 GIMP 等图像编辑器中打开图像并保存(GIMP 将覆盖旋转数据,首先向您发出警告)。
b.) 使用 CSS transform
属性:
CSS
.my-images-selector {
/* 90deg or 270deg depending on the rotation */
-ms-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-webkit-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
如果要在整个 canvas 上绘制图像,您只需将上面的 CSS 应用到 canvas 元素即可。
c.) 要在 canvas 内绘制旋转图像,请使用 canvas 上下文 transform
方法(您可以参考此处:HTML5 Canvas Rotate Image)
另外,参见 JS Client-Side Exif Orientation: Rotate and Mirror JPEG Images
由于 EXIF 元数据的原因,我收到一些需要翻转的图像。我使用 image-orientation: from-image 来修复 img 标签。 canvas 标签的等价物是什么。
CSS image-orientation
没有得到很好的支持,MDN 文档说它可能会被弃用。如果您知道所有图像都已旋转(沿相同方向),您可以:
a.) 在 GIMP 等图像编辑器中打开图像并保存(GIMP 将覆盖旋转数据,首先向您发出警告)。
b.) 使用 CSS transform
属性:
CSS
.my-images-selector {
/* 90deg or 270deg depending on the rotation */
-ms-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-webkit-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
如果要在整个 canvas 上绘制图像,您只需将上面的 CSS 应用到 canvas 元素即可。
c.) 要在 canvas 内绘制旋转图像,请使用 canvas 上下文 transform
方法(您可以参考此处:HTML5 Canvas Rotate Image)
另外,参见 JS Client-Side Exif Orientation: Rotate and Mirror JPEG Images