当前位置:嗨网首页>书籍在线阅读

32-同时对图片进行移动和缩放

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

4.7.6 同时对图片进行移动和缩放

同时移动和缩放图片,只需和例4-14一样修改窗口的属性,和例4-15一样修改图片源的大小。

var windowX=1580;
var windowY=1190;

在drawScreen()函数中,通过以下代码绘制图片。

context.drawImage(photo, windowX, windowY, windowWidth*2, windowHeight*2,
         0, 0, viewPortWidth, viewPortHeight);

例4-15展示了缩放与移动的组合应用。

例4-15 同时对图片进行移动和缩放

var photo=new Image();
photo.addEventListener('load', eventPhotoLoaded , false);
photo.src="butterfly.jpg";
var windowWidth=500;
var windowHeight=500;
var viewPortWidth=500;
var viewPortHeight=500;
var windowX=1580;
var windowY=1190;
function eventPhotoLoaded() {
  drawScreen();
}
function drawScreen(){
    context.drawImage(photo, windowX,
    windowY,windowWidth*2,windowHeight*2,0,0,viewPortWidth,viewPortHeight);
}

运行例4-15可以发现,将绘制的区域已经移动到了大图片上一个新的地方,且原图片被放大至两倍。实际上,这是一个拉伸的效果,因此,蝴蝶比例4-14更加清楚。图4-16所示为例4-16的运行截图。

72.png

图4-16 同时对图片进行移动和缩放

接下来,看看如何操控画布上的像素。