我们如何在html5画布上绘制调整大小的图像
How do we draw a resized image on an html5 canvas?
我有一个图像要在html5画布上绘制。在绘制到画布之前,我想将这个图像调整到一定的高度和宽度。我的代码目前包括:
img = new Image();
img.src = "vivo.jpg";
// calcuate new height and width
img.height = newheight;
img.width = newwidth;
$("#cnvs").attr({
"height" : newheight,
"width" : newwidth
});
context.drawImage(img, 0, 0);
只有当我在context.drawImage()函数本身中包含宽度和高度参数时,代码才能工作。但我不明白的是,为什么图像在context.drawImage()函数访问它之前没有调整大小。
我还打印了警告语句来检查"img"。"身高"answers"身高"。宽度",它确实被设置为newweight, newwidth的值。为什么context.drawImage()访问旧的高度和宽度值?
Edit -另外,当我在网页上显示图像时(不是在画布上,而是在网页上),会显示调整大小的图像。但画布不显示调整后的图像。我不明白为什么
不工作的原因是因为您正在更改<img>
HTML节点的属性。这些属性是如何在文档中显示节点的布局指令(顺便说一下,这已经过时了)。使用CSS进行布局)。图像元素中显示的图像材料的宽度和高度与此无关。
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- ExtJS——在展开/折叠时调整面板高度
- 使用 JavaScript 绘制到 HTML5 画布时调整.png图像的大小
- Highcharts-销毁图例后重新绘制/调整图表大小
- 如何避免在调整宽度时重新绘制dom
- 在父容器上重新绘制谷歌地图,调整大小
- ChartJS赢得't在引导选项卡中绘制图形,直到窗口调整大小
- d3 -如何调整从完整的美国clipPath绘制的单个州地图的大小
- 用鼠标绘制路径和调整大小
- 画布元素,绘制圆调整大小
- HTML5响应画布:调整浏览器画布大小,绘制消失
- 绘制条形图后的条形顺序调整
- 我们如何在html5画布上绘制调整大小的图像
- 调整和移动在画布上绘制的矩形
- 仅在调整窗口大小时绘制的文本
- 调整大小后在画布上绘制
- Highchart-调整窗口大小后重新绘制图表
- 高图线不会被绘制,直到浏览器调整大小