第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

JS學(xué)習(xí):創(chuàng)建一個(gè)演示用的渲染庫(kù)3(尺寸這些事)

標(biāo)簽:
Html/CSS JavaScript

本篇主要关注css尺寸和元素尺寸
通过两个Demo实验,我们:

解决了一个问题: 由谁决定元素的显示大小

提出另一个问题: 为什么会变形?


1. 通过一个实验了解canvas元素尺寸与css尺寸之间的关系:

1. 没有指定尺寸: (红色) 
    <canvas  style="border: 1px solid red">

2. 指定元素尺寸不指定css尺寸(绿色) : 
    <canvas width="200" height="400" style="border: 1px solid green">

3. 同时指定元素尺寸和css尺寸(蓝色): 
   <canvas style="border: 1px solid blue;width:150px;height:150px" width="200" height="400"></canvas>

图片描述

结论(chrome/firefox/ie11/edge/opera):

显示结果 elem size css size
red: [300,150] no no
green: elem size决定 yes no
blue: 由css size决定 yes yes

2. 第二个实验:

先强调如下要点:

  • css 的width/height 必须带px/cm等单位

  • 元素的width/height 的单位只能是px,所以可以不写单位

测试代码如下(注意:只指定了css尺寸,没指定elem尺寸):

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>随风而行之青衫磊落险峰行JSDemo-RenderSurface</title>
    <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="BLFES6Lib.js"></script>
</head>

<body>

    <canvas id="myCanvas" style="border: 1px solid blue;width:300px;height:500px">你的浏览器还不支持哦</canvas>

    <script>
        "use strict";
        let canvas = document.getElementById("myCanvas");
        let context = canvas.getContext('2d');
        let render = new BLFRender(context);
        let rect = new BLFRectSprite();
        rect.render(render);

        alert("1. elm size = [" + canvas.width + "," + canvas.height + "]");
        alert("2. css size = [" + canvas.style.width + "," + canvas.style.height + "]");
    </script>
</body>

</html>

你会发现如下事实:
图片描述

  • 没有指定elem size,elm size 缺省值= [300,150] (上表结论,此处证实)
  • 元素显示的区域大小由css size决定,显示区=[300px,500px]
  • css size必须带单位,而elem size不用带单位,因为一定是像素表示(大家可以做个实验,修改elem size.width = 100px/cm后,alert的结果和显示的效果可以证实: 不管带单位与否,或者单位是px还是cm...,dom都解释为像素表示!!!)
  • 渲染内容发生了严重的形变,这个才是我们需要了解的重点内容!!!

通过上述两个实验,我们:

解决了一个问题: 由谁决定元素的显示大小!

提出另一个问题: 为什么会变形?

下一篇,就了解为什么会变形以及尽量避免这个问题。涉及图形学背后的一些原理,还是蛮好玩的(例如渲染表面,后备缓冲区,位块传输等等)。

如果感觉有兴趣,请毫不犹豫的给我点个赞.

忍不住show一下我的超帅装备:

图片描述

1. 树莓派3B操作系统的安装(视频)

我录的树莓派安装视频,有兴趣的同学可以看看。很好玩的东西。我主要用来玩linux编程,也玩玩gpio编程。以后会多拍点树莓派视频。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消