yImg 预加载图片的宽高设置在createPattern()中不起作用
  <body>
            <canvas id="draw" width="600px" heigth="600px"></canvas>
 <body>
//以下是引用JQ后的写法

    var yImg=new Image();
    yImg.onload=function(){
       draw(this);
    };
    yImg.style.width="200px"; //→没有生效
    yImg.style.height="200px";//→没有生效
    yImg.src="../image/01.gif";//图片原始尺寸是791px*341px

    var oGc=$("#draw").get(0).getContext("2d");
    function draw(obj){
        var bg=oGc.createPattern(obj,"repeat");
        oGc.fillStyle=bg;
        oGc.fillRect(0,0,400,400);
    }
        疑问:为什么yImg制定的属性“width:200px;height:200px;”没有生效?

1个回答

canvas图片设置宽高是在画图中设置,你在图片加载设置和canvas画图的宽高是没有联系的。你要想画出来的宽高是200*200,就要在画图过程中设置。
1、你现在设置的宽高和画布中要绘画的图片快高是没有关系的,画布中图片宽高需要在画布中设置。
2、你需要画布中图的宽高为200*200,需要在画布中设置。

m0_38082783
Rattenking 你要背景的尺寸生效,就需要在绘制中设置。
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问