Discussion:
[Canvas] l'image extraite n'a pas la taille espérée...
Add Reply
Une Bévue
2017-02-13 09:38:40 UTC
Réponse
Permalink
Raw Message
J'ai un canvas de 400x400 pixels^2 et j'en extrait un avatar de 96x96 de
cette manière :

handleSaveDataURL (event) {
console.log(`${window.consoleDate()} - AvatarCropper ::
handleSaveDataURL (event)`);
let self = this;
let buf = new Image();
buf.src = this.state.canvas.toDataURL();
buf.onload = function() {
let canvas = document.createElement('canvas');
canvas.width = 400;
canvas.height = 400;
let ctx = canvas.getContext('2d');
ctx.drawImage(this, 0, 0, 400, 400, 0, 0, 96, 96);
self.props.saveDataURL(canvas.toDataURL());
};
}

les dataURL obtenues par "this.state.canvas.toDataURL()" sont OK elles
font bien 400x400.

par contre quand j'exxtrais l'avatar de 96x96 par canvas.toDataURL(),

si je visualise le résultat par le biais d'un fichier html de contenu :

<img src=<la valeur de dataURL> alt="" />

Firefox Dev Ed me dit que l'image fait 400x400 pixels mais montre
seulment un avatar de 96x96.

Caputre écran :
<Loading Image...>

Aussi je ne comprends pas pourquoi firefox donne deux dimensions :
400x400 et
444.444x444.444

???
Une Bévue
2017-02-13 10:20:04 UTC
Réponse
Permalink
Raw Message
Post by Une Bévue
canvas.width = 400;
canvas.height = 400;
en changeant ça en :
canvas.width = 96;
canvas.height = 96;

j'obtiens bien une image de 96x96 :
<Loading Image...>

par contre, Firefox Dev Ed, la représente comme une image de 107x107 :
<Loading Image...>

Pourquoi ?

Loading...