zoukankan      html  css  js  c++  java
  • 解决 canvas 在高清屏中绘制模糊的问题

    参考博客:http://www.css88.com/demo/canvas_retina/index.html

    模糊的文字:

    获取像素比之后清晰的文字:

    <canvas id="my_canvas" width="540" heihgt="180"></canvas>

    <script type="text/javascript">

    // 获取像素比

    var getPixelRatio = function (context) {

    var backingStore = context.backingStorePixelRatio ||

    context.webkitBackingStorePixelRatio ||

    context.mozBackingStorePixelRatio ||

    context.msBackingStorePixelRatio ||

    context.oBackingStorePixelRatio ||

    context.backingStorePixelRatio || 1;

    return (window.devicePixelRatio || 1) / backingStore;

    };

    //画文字

    var myCanvas = document.getElementById("my_canvas");

    var context = myCanvas.getContext("2d");

    var ratio = getPixelRatio(context);

     

    myCanvas.style.width = myCanvas.width + 'px';

    myCanvas.style.height = myCanvas.height + 'px';

     

    myCanvas.width = myCanvas.width * ratio;

    myCanvas.height = myCanvas.height * ratio;

     

    // 放大倍数

    context.scale(ratio, ratio);

     

    context.font = "18px Georgia";

    context.fillStyle = "#999";

    context.fillText("我是清晰的文字", 50, 50);

    </script>

     

  • 相关阅读:
    29 求和
    28 跳转控制语句 goto
    27 跳转控制语句 continue
    26 跳转控制语句 break
    25 打印金字塔
    24 打印九九乘法表
    23 多重循环控制
    22 do-while 循环
    21 while 循环
    20 for循环控制
  • 原文地址:https://www.cnblogs.com/xiaoyaoweb/p/9907891.html
Copyright © 2011-2022 走看看