En JavaScript, las imágenes se pueden reflejar y voltear siguiendo los siguientes pasos:
- Cree un
canvas
elemento y obtengacanvas
el contexto del . El contexto se puedegetContext('2d')
obtener utilizando el método.
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
- Cree un
Image
objeto y cargue la imagen que se volteará en este objeto.
var image = new Image();
image.src = 'path_to_image';
- Después de esperar a que se cargue la imagen, dibuje la imagen en
canvas
el archivo .
image.onload = function() {
ctx.translate(canvas.width, 0);
ctx.scale(-1, 1);
ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
};
canvas.toDataURL()
Finalmente, la imagen volteada se puede convertir en una cadena codificada en base64 usando el método.
var flippedDataUrl = canvas.toDataURL();
El código de ejemplo completo es el siguiente:
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var image = new Image();
image.src = 'path_to_image';
image.onload = function() {
ctx.translate(canvas.width, 0);
ctx.scale(-1, 1);
ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
var flippedDataUrl = canvas.toDataURL();
console.log(flippedDataUrl);
};
El código anterior realiza un volteo de espejo horizontal en la imagen. Si se requiere voltear el espejo vertical, puede ctx.scale(-1, 1)
cambiar a ctx.scale(1, -1)
.