最赞回答 / qq_月光_2
图片处理思路是这样的:1、用context.drawImage( img , x , y , dw , dh)方法绘制图像2、让图像(放大或缩小后的图)的中心与画布中心重叠,即水平垂直居中——设置的top和left即为y,x。图像的大小和画布大小都已知,故很容易得到y,x。然后context.drawImage( image , x , y , scaleImageWidth, scaleImageHeight);你这里调用的方法是错误的!!!
2016-06-18
@Caihong_deng 加入一句判断,if(scale<1){
context.drawImage(watercanvas,imgWidth-watercanvas.width+dx,imgHeight-watercanvas.height+dy);//缩放比例小于1时,图片小于canvas画布,用图片的宽高减去水印的宽高就可以固定在水印右下角
}else{
context.drawImage(watercanvas,canvas.width-watercanvas.width,canvas.height-watercanvas.height);
}
context.drawImage(watercanvas,imgWidth-watercanvas.width+dx,imgHeight-watercanvas.height+dy);//缩放比例小于1时,图片小于canvas画布,用图片的宽高减去水印的宽高就可以固定在水印右下角
}else{
context.drawImage(watercanvas,canvas.width-watercanvas.width,canvas.height-watercanvas.height);
}
2016-06-16
最赞回答 / qq_月光_2
我觉得,浏览器上的像素点是一个虚拟点,描述的是x方向1像素和y方向组成的1平方像素的面积。而整张图片被这n个1平方像素区域分解。所以所谓的连线上的点都是整数,即循环后 p = i*canva.width + j 的 1平方像素(点)。
2016-06-08