0
A
回答
2
这里是你如何能“改造”的图像为梯形。该技术是众所周知的,将图像线切成线并逐渐缩小线。
此功能允许您设置梯形的量(%),并处理缩放图像,以及:
function drawTrapezoid(ctx, img, x, y, w, h, factor) {
var startPoint = x + w * 0.5 * (factor*0.01), // calculate top x
xi, yi, scale = img.height/h, // used for interpolation/scale
startLine = y, // used for interpolation
endLine = y + h; // abs. end line (y)
for(; y < endLine; y++) {
// get x position based on line (y)
xi = interpolate(startPoint, y, x, endLine, (y - startLine)/h);
// get scaled y position for source image
yi = (y * scale + 0.5)|0;
// draw the slice
ctx.drawImage(img, 0, yi, img.width, 1, // source line
xi.x, y, w - xi.x * 2, 1); // output line
}
// sub-function doing the interpolation
function interpolate(x1, y1, x2, y2, t) {
return {
x: x1 + (x2 - x1) * t,
y: y1 + (y2 - y1) * t
};
}
}
希望这有助于!
相关问题
- 1. 绘制矩形形状阻力和图像的降HTML5画布
- 2. WPF画布图形绘制
- 3. 如何使用css创建不同形状的梯形图像?
- 4. 如何图像形状动画成梯形,希望使用jQuery插件
- 5. 使用fabric.js绘制画布形状作为椭圆形lauout
- 6. 绘制图像的形状
- 7. 如何使用HTML画布绘制任意形状?
- 8. HTML画布 - 间隔后绘制形状
- 9. 在画布上绘制渐变形状
- 10. 在画布上绘制透明形状
- 11. 如何在iOS中绘制梯形形状?
- 12. 如何使用UIBezierPath通过动画绘制扇形形状?
- 13. 画成画布形状的图像
- 14. 画布上的绘图形状
- 15. 如何使用画布和svg绘制圆形矩形?
- 16. 你可以在画布上绘制弧形图像吗?
- 17. 绘制矩形画布android
- 18. 绘制画布3d矩形
- 19. Android画布绘制矩形
- 20. 双梯形形状
- 21. 如何使用图形对象g绘制透明形状?
- 22. 如何使用可与图像一起绘制的形状?
- 23. 如何绘制不使用画布的圆形动画?
- 24. 如何动画CoreGraphics使用CAKeyframeAnimation绘制形状使用CAKeyframeAnimation
- 25. 以自定义形状绘制像素
- 26. 可以用形状填充图像的4个点绘制形状吗?
- 27. html5 - 如何检查在画布上绘制的形状?
- 28. 如何在HTML5画布上交互绘制形状?
- 29. 如何调整在画布上绘制的形状的大小
- 30. 如何在HTML5画布中绘制云形状?
所以,可以肯定的是,你想要一个实际的图像被转换,并在画布上绘制?所以图像会被塑造成像/ _ \那样的东西。 – Cerbrus
希望这有助于http://www.subshell.com/en/subshell/blog/image-manipulation-html5-canvas102.html –