小编Reg*_*234的帖子

如何正确地对 HTML Canvas 进行下采样以获得好看的图像?

介绍

我正在尝试处理画布动画上的模糊视觉效果。这种模糊在移动设备、视网膜和高 dpi(每英寸点数)屏幕上尤为普遍。

我正在寻找一种方法来确保使用画布绘制的像素在低 dpi 屏幕和高 dpi 屏幕上看起来最好。作为这个问题的解决方案,我写了多篇关于画布缩小的文章,并遵循了本教程:

https://www.kirupa.com/canvas/canvas_high_dpi_retina.htm

在项目中集成缩减

我想在其中实现缩减的项目可以在下面找到,它包含一些重要的功能:

  • 有一个(大)主画布。(性能优化)
  • 有多个(预渲染的)较小的画布用于绘制和加载图像。(性能优化)
  • 画布是动画的。(在代码片段中,没有可见动画,但集成了动画功能。)

我试图实现的目标:我面临的问题似乎很简单。当网站(带有画布)在移动设备(例如,Iphone,每英寸的像素数高于普通台式机)上打开时。图像显得更加模糊。我真正想要实现的是从图像中消除这种模糊性。我把这个,它说模糊可以通过下采样来消除。我试图在提供的代码中加入这种技术,但它并没有完全奏效。图像变大了,我无法将图像缩放回原始大小。片段它没有正确实现,输出仍然模糊。我做错了什么,我该如何解决这个问题?

代码片段的解释

该变量devicePixelRatio设置为2模拟高 dpi 手机屏幕,低 dpi 屏幕的 adevicePixelRatio为 1。生成的多个预渲染画布的功能spawn是代码片段有 5 个不同的画布,但在生产环境中有 10 个。

如果这篇文章有任何信息缺失或问题,请告诉我。非常感谢!

代码片段

var canvas = document.querySelector('canvas');
var c = canvas.getContext('2d' );
var circles = [];

//Simulate Retina screen = 2, Normal screen = 1
let devicePixelRatio = 2


function mainCanvasPixelRatio() {
    // get current size of the canvas
    let rect …
Run Code Online (Sandbox Code Playgroud)

html javascript css canvas html5-canvas

7
推荐指数
1
解决办法
226
查看次数

在HTML中显示值

我想将搜索栏中的值显示为""的搜索结果.

这就是我到目前为止所做的,为什么这不起作用?

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input type="text" id="autocomplete" value="" placeholder="Search for names.." title="Type in a name">
<p>
Search results for  "<span id="result"></span>"
</p>

<button onclick="myname();"> Button </button>

<script>
function myname () {
	document.getElementById("autocomplete").value = document.getElementById("result").innerHTML; 
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html javascript

0
推荐指数
1
解决办法
33
查看次数

标签 统计

html ×2

javascript ×2

canvas ×1

css ×1

html5-canvas ×1