zoukankan      html  css  js  c++  java
  • html5之canvas困惑 在canvas标签内需要设置了宽跟高,如果在css中设置同样的宽跟高,画出来的图像变形了?

    <canvas class="cvs"></canvas>

    遇到的问题:

    如css 中设.cvs{500px;height:400px;},也就是css改变了canvas的尺寸后,本来是可以画出一个圆来,现在却是一个扁平的圆,为什么呀?
    如图:


    什么原因:(百度上说的)

    当你在支持html5 canvas的浏览器下查看页面的时候,你会看到一个大小为300px*300px(BTW:canvas默认大小为:300px*150pxcanvas)相当于一张图片,css设置的属性相当于
    对这张图片进行拉伸变化

    要改变canvas的大小,应当用这种方式:
    使用js来改变
    <canvas width=500 height=400></canvas>

    对应的javascript是
    canvas=document.getElementsByTagName('canvas')[0];
    canvas.width=500;
    canvas.height=400;

    换句话说,你现在画出的圆实际显示的是在默认大小上经过拉伸变换的样子。
    自己的理解:

    canvas是一张画布,就像一张图片那样,默认的图片大小事300*150,但是我们在css样式中设置了canvas,就是把图片给拉伸变换了,于是我们不一样的图片。就像我们打开平时一张图片,然后进行拉伸般,于是图片就变形。
    所以,画布的宽跟高,最好还是直接在canvas标签里面设置了,这样一来,就直接改变了默认的画布宽跟高的值。

    【学到新知识时,再过来修改】

  • 相关阅读:
    Django----博客文章数据返回
    Django----admin模块初识
    Django搭建博客文章---模型层
    Js 提交 form 表单
    sql 查询 between and 和 >= <= 比较
    C# 未能加载项目文件
    不一样的 Null
    Js实现table单双行交替色
    C# 判断一个string型的时间格式是否正确
    利用 Label 小小的提升一下用户体验
  • 原文地址:https://www.cnblogs.com/wuyinghong/p/3633213.html
Copyright © 2011-2022 走看看