Canvas-drawImage 绘制图片模糊问题
2016-05-12 17:50
597 查看
最近遇到这样的问题,使用canvas输出图片,图片比canvas区域大,尺寸限制之后反而变得特别模糊:
代码:
解决:先让图片以原先尺寸呈现,再用css限制:
代码:
var c = document.getElementById("myimage");//canvas的id var ctx=c.getContext("2d"); var img=new Image(); img.src = 图片地址; img.addEventListener('load',imgin); function imgin(){ c.width = $(window).width(); c.height = $(window).width()*img.height/img.width; clearInterval(m); ctx.clearRect(0,0,c.width,c.height); ctx.drawImage(img,0,0,c.width,c.height); } $(window).resize(function(){ imgin(); });
解决:先让图片以原先尺寸呈现,再用css限制:
var c = document.getElementById("myimage");<span style="font-family: Arial, Helvetica, sans-serif;">//canvas的id</span> var ctx=c.getContext("2d"); var img=new Image(); img.src = ...;//<span style="font-family: Arial, Helvetica, sans-serif;">图片地址;</span> img.addEventListener('load',imgin); function imgin(){ // c.width = $(window).width(); // c.height = $(window).width()*img.height/img.width; c.width = img.width;//////////重点 c.height = img.height;<//////////重点 clearInterval(m); ctx.clearRect(0,0,c.width,c.height); ctx.drawImage(img,0,0,c.width,c.height); c.style.width = '100%';//////////重点 } $(window).resize(function(){ imgin(); });效果:
相关文章推荐
- HTML5调用摄像头实例
- Canvas 在高清屏下绘制图片变模糊的解决方法
- 使用canvas实现仿新浪微博头像截取上传功能
- js+HTML5实现canvas多种颜色渐变效果的方法
- javascript+HTML5的Canvas实现Lab单车动画效果
- js+canvas绘制矩形的方法
- JavaScript+html5 canvas制作的百花齐放效果完整实例
- jQuery+canvas实现的球体平抛及颜色动态变换效果
- html5 canvas js(数字时钟)实例代码
- JavaScript+canvas实现七色板效果实例
- javascript+canvas制作九宫格小程序
- 通过javascript把图片转化为字符画
- js+html5通过canvas指定开始和结束点绘制线条的方法
- JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
- JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
- 基于canvas实现的绚丽圆圈效果完整实例
- PHP实现将HTML5中Canvas图像保存到服务器的方法
- 基于canvas实现的钟摆效果完整实例
- js+html5实现canvas绘制简单矩形的方法
- javascript基于HTML5 canvas制作画箭头组件