Canvas 当我使用画布图案作为点背景色时,图像看起来很模糊

Canvas 当我使用画布图案作为点背景色时,图像看起来很模糊,canvas,html5-canvas,chart.js,chartjs-2.6.0,devicepixelratio,Canvas,Html5 Canvas,Chart.js,Chartjs 2.6.0,Devicepixelratio,预期行为 在所有屏幕分辨率下,图像应该看起来很好,没有模糊。它在PC分辨率上看起来不错 当前行为 图像在移动分辨率下看起来模糊 这是我的代码 HTML Codepen 我认为它与 DeVeleXeleRe>有关,但我不知道如何在画布上绘制图像时考虑它。 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.js"></script> <canvas id="myChart

预期行为

在所有屏幕分辨率下,图像应该看起来很好,没有模糊。它在PC分辨率上看起来不错

当前行为

图像在移动分辨率下看起来模糊

这是我的代码

HTML

Codepen

我认为它与<强> DeVeleXeleRe><强>有关,但我不知道如何在画布上绘制图像时考虑它。

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.js"></script>

<canvas id="myChart"></canvas>
var img = new Image();
img.src = "https://techvalor.net/images/avatars/generator/175_1536055288.png";

img.onload = function() {
var canvas = document.getElementById("myChart");

var tempCanvas = document.createElement("canvas");
var tCtx = tempCanvas.getContext("2d");

var size = 40;

tempCanvas.width = size;
tempCanvas.height = size;

tCtx.drawImage(img, 0, 0, img.width, img.height, -size / 2, -size / 2, size, size);         
tCtx.drawImage(img, 0, 0, img.width, img.height, size / 2, -size / 2, size, size); 
tCtx.drawImage(img, 0, 0, img.width, img.height, -size / 2, size / 2, size, size);         
tCtx.drawImage(img, 0, 0, img.width, img.height, size / 2, size / 2, size, size);

var ctx = canvas.getContext("2d");
var fillStyle = ctx.createPattern(tempCanvas, "repeat");

var chart = new Chart(ctx, {
  type: "line",
  data: {
    labels: ["Item 1", "Item 2", "Item 3", "Item 4"],
    datasets: [
      {
        data: [5, 20, 35, 45],
        pointBackgroundColor: fillStyle,
        pointRadius: 20,
        pointBorderColor: "rgb(0,0,0)"
      }
    ]
  },
  options: {
    hover: { mode: null },
    tooltips: { enabled: false }
  }
 });
};