原因 浏览器会自动增加Canvas的大小,但是里面的内容会维持原来的大小,出现一些抗锯齿方面的错误。 解决方案 HTML的Canvas元素有两个不同的大小属性,应该用它们来适配高分辨率屏幕(包括Retina )下的内容。 - Cnavas的大小是Canvas元素在屏幕(页面)上所呈现的大小,可以用CSS属性width和height来对其值进行修改:
<canvas id="CanvasTest" style="width: 400px; height: 300px;" ...></canvas> - Canvas内容的大小决定Canvas中有多少个像素,可以通过修改Canvas的属性width和height(以像素为单位)来修改这个值。这个大小叫做drawingBuffer。
<canvas id="CanvasTest" width="100" height="150" ...></canvas> 如果不使用CSS属性来设置Canvas的大小,那么Canvas的大小会采用drawingBuffer大小,所以在第二个例子中Canvas内容大小是设置成100x150(px),而且Canvas的大小也是设置成100x150(px)。 设置Canvas尺寸并修复Canvas Content Size 我们可以根据需求来使用这些属性设置内容,例如,可以修改Canvas大小以填满整个浏览器的大小: <style> body { margin: 0; border: 0; padding: 0; background-color: white; // It depends of your project. // 该取值取决于你的项目 } canvas { width: 100%; height: 100%; position: absolute; } </style> We can set the app to full-screen using this code in a callback triggered by some Input event in C# code 我们可以用下面这段代码把应用设置为全屏模式,这个回调函数会被一些由C#编写的输入事件触发从而调用。 void OnClickEvent () { Screen.fullScreen = true; }
|