12下一页
返回列表 发新帖

canvas需要在标签里直接定义宽高

660.5k 15
swmozowtfl 发表于 2015-7-15 20:24:30|湖北 | 查看全部 阅读模式
以前用canvas画图时,都是直接在canvas标签里直接写上宽高,没有问题,但也没有探究过为什么宽高要直接写在canvas标签里,因为各个资料的例子上都是这么写的。今天王sir提出了一个问题:如果把宽高写在<style>里,看看会有什么不同。自己试了以下,果然有问题。( V+ J6 i6 {$ X: \# z" }
先看一下代码:5 T/ `, Y! i, b1 T7 T' u' h
代码如下:
5 Y0 A) X, l/ W% ~+ b. e
<!doctype html>( n# C* G- f, j( f% I; R
<html>
( R& ^. N  f& y<head>% f: W4 g2 }6 o& I" Q- b# H0 {" k4 {2 p0 @
<meta charset=utf-8>
7 h) a6 B; H0 x% H. A<title>canvas</title>4 N/ K' j+ `2 }- ~
<meta name=keywords content=>* K7 {/ V5 O6 Y+ d& H$ j# {! x# J
<meta name=author>6 H4 E3 O6 P& u1 s3 N
<style type=text/css>5 ~& D' L: T( u: o' o& X
body{margin:0;}
: W$ e" h' o6 c7 M" Ncanvas{margin:20px;  q3 |1 ]0 R2 E6 C- |& S
/*width: 400px;
' k' \$ Y& F  zheight: 300px;*/
% }& y4 L! i: i}) w9 B8 ?. \! V/ ~( s9 v4 j+ ?
</style>8 q  h" o& u& E* n
</head>4 l/ D6 s- Q9 U3 q4 w9 a* ~
<body onload=draw()>
+ _7 J$ K. Q. h" W" \' A& @<canvas id=canvas width=400 height=300 style=border:1px solid #f00;></canvas>- ~, L- D5 d( h% L
<script>
+ ]+ X5 J# G# ~) p# G3 pfunction draw() {
' w$ L3 _! M  {0 n# q+ E" B( svar canvas=document.getelementbyid('canvas');
6 i: x" L* E7 x1 D* L- C6 k% P. Fvar context=canvas.getcontext('2d');
+ ]8 j, m5 p. D$ g3 @context.beginpath();5 ^( I1 W; d2 D" g7 G
context.moveto(20,20);
7 S% X. q) j2 O+ p) Xcontext.lineto(200,100);7 a4 f) Z! s* _: V# {
context.linewidth=5;
8 i. E- M  h8 l$ ~+ G' I! |context.stroke();
6 S+ Q% M; T7 [}
6 d/ s0 V* r+ \# Y: M</script>
- D7 b% e# Q: a+ {' S</body>
% J& x) b9 c( `, e</html>
) S/ K, K2 `2 ~" \  a8 w' ~% }: ^1.宽:400;高:300;直接写在<canvas>里的效果:0 ^8 A, L/ ~0 l: o$ ?- q  ^3 A
名单
( _  {9 ^; K: L1 Z2、删除<canvas>里的宽高,宽:400;高:300;写在<style>里的效果:
  D. e' }# ]* J名单1
- D" G4 c1 \) |4 v为什么两者的效果会不一样呢?2 X4 x: B% R  E+ f
canvas跟其他标签一样,也可以通过css来定义样式。但这里需要注意的是:canvas的默认宽高为300px * 150px,在css中为canvas定义宽高,实际上把宽高为300px * 150px的画布进行了拉伸,如果在这样的情况下进行canvas绘图,你得到的图形可能就是变形的效果。所以,在canvas绘图时,应该在canvas标签里直接定义宽高。, L6 c- v8 z# ?7 o, `% G9 c, I* ^

, I- _8 s" j, K. p; d4 }更多网页制作信息请查看: 网页制作

回复|共 15 个

wwzcdenleclv 发表于 2015-10-22 21:49:59|日本 | 查看全部
本人过去、现在以及将来都不认识楼主,且自古以来与楼主无利益关系。楼主表述之事与本人无关
mwxny 发表于 2015-10-22 21:50:37|亚太地区 | 查看全部
哈哈~` 好久没有笑喽~
seazvyt 发表于 2015-10-22 21:50:00|美国 | 查看全部
呵呵~~~~你怎么老这样说~~~
wwzcdenleclv 发表于 2015-10-22 21:49:44|法国 | 查看全部
兄弟....表给偶丢丢哦....
alapScady 发表于 2015-10-22 21:50:28|INNA | 查看全部
想骂你.却不知道从何骂起.
buingeEvineus 发表于 2015-12-9 18:04:48|INNA | 查看全部
成长可以说已经是很幸福的了。但在另一方面,作者也不是温室里的花*,只能作些鸳鸯蝴蝶 的文章。在前面我已经说过了,这篇文章比形散神聚更胜一筹。诸位见过大风沙没有
seazvyt 发表于 2015-12-9 18:05:40|印度 | 查看全部
这就是我斗胆的一点粗略分析,每天睡觉以前,我都会把您的帖子再三拜读,拜读。
bqtklouu 发表于 2015-12-9 18:05:28|拉美地区 | 查看全部
什么什么啊??
effoggikeftor 发表于 2015-12-9 18:05:28|韩国 | 查看全部
貌似我真的很笨????哎
alapScady 发表于 2015-12-9 18:04:34|乌克兰 | 查看全部
还没崇拜过谁呢,满足一下愿望吧,谢谢!
Mqokjdvq 发表于 2017-4-11 11:38:40|非洲 | 查看全部
为了不让帖子沉得太快!!!为了人人知道这个~!! 我不是原创~!!但是我要把他发扬广大~!!!
wwdu926a 发表于 2017-4-11 11:35:34|Reserved | 查看全部
呵呵 大家好奇嘛 来观看下~~~~
effoggikeftor 发表于 2017-4-11 11:37:59|泰国 | 查看全部
我也不知道了~~你把我问蒙了 呵呵
wwdu926a 发表于 2017-4-11 11:36:41|台湾 | 查看全部
朕在自己的寝宫~~~~

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表