C'est bien ce que j'avais cru comprendre.
En revanche, meme si la fonction setTransform ne permet pas de transformer un rectangle en trapèze, la methode un peu barbare peut le faire
https://c9.io/thetrope/projectcard/works...test1.html
Nous utilisons d'ailleurs une fonction sans comprendre entièrement son fonctionnement, si vous pouviez nous eclairer :
De ce que je comprends, cela permet de decouper notre image en x morceaux (plus c'est grand plus les bords seront lisses) puis pour chacun, les redimentionner et les afficher. Mais ca reste assez flou quand meme
Merci
En revanche, meme si la fonction setTransform ne permet pas de transformer un rectangle en trapèze, la methode un peu barbare peut le faire
https://c9.io/thetrope/projectcard/works...test1.html
Nous utilisons d'ailleurs une fonction sans comprendre entièrement son fonctionnement, si vous pouviez nous eclairer :
Code :
fonction keystoneAndDisplayImageH(ctx, img, scalingFactor, numSlices) {
var h = img.height, w = img.width,
// how much should every slice be scaled in width?
widthScale = (1 - scalingFactor) / numSlices;
// height of each slice
sliceHeight = h / numSlices;
// iterate over all slices
for (var n = 0; n < numSlices; n++) {
// source - where to take the slices from
var sx = 0,
sy = sliceHeight * n,
sWidth = w,
sHeight = sliceHeight;
// destination - where to draw the new slices
var dx = (w * widthScale * (numSlices - n)) / 2,
dy = sliceHeight * n,
dWidth = w * (1 - (widthScale * (numSlices - n))),
dHeight = sliceHeight;
ctx.drawImage(img, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);
}
}
Merci