Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
367 views
in Technique[技术] by (71.8m points)

使用canvas的fillText方法写文字时,坐标的问题。

我想在canvas画布左上角添加文字“你好世界”,我用的是fillText方法。但是,运行后只显示很少一部分文字。

如图,绿色横线上面:
图片描述

代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>第一个canvas</title>
<style>
*{margin: 0; padding: 0;}
 
canvas{
    background: #ddd; 
    border: 1px solid #000; 
}
</style>
</head>
<body>
<canvas id="cvs" width="600" height="300"> 
    您的浏览器不支持canvas元素。   
</canvas>
<script>
    var canvas = document.getElementById('cvs'),
        context = canvas.getContext('2d');

        context.font = '20px Arial';
        context.fillStyle = 'red';
        // 左上角显示文字,所以我用了x=0, y=0,但只显示部分文字。
        context.fillText('你好世界', 0, 0);

</script>
</body>
</html>

请问如何才能在canvas画布左上角显示 “你好世界”?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

clipboard.png
textBaseline=alphabetic,把alphabetic改成top后会达到你的需要得显示效果


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...