คุณสามารถแสดงแคนวาสที่ 500px ในขณะที่ยังคงมีความละเอียด 1600px ขนาดและความละเอียดของจอแสดงผลมีความเป็นอิสระ สำหรับความละเอียด คุณตั้งค่าคุณสมบัติความกว้างและความสูงของผืนผ้าใบ สำหรับขนาดการแสดงผล คุณตั้งค่าคุณสมบัติความกว้างและความสูงของผ้าใบ สไตล์
// create a canvas or get it from the page
var canvas = document.createElement("canvas");
// set the resolution (number of pixels)
canvas.width = canvas.height = 1600;
// set the display size
canvas.style.width = canvas.style.height = "500px";
// get the rendering context
var ctx = canvas.getContext("2d");
เพื่อให้การเรนเดอร์ตรงกับขนาดจอแสดงผล คุณต้องขยายขนาดการเรนเดอร์ทั้งหมด คุณสามารถทำได้โดยการตั้งค่ามาตราส่วนการแปลงเป็นความละเอียดแคนวาสหารด้วยขนาดการแสดงผล
var scale = 1600 / 500; // get the scale that matches display size
ctx.setTransform(scale,0,0,scale,0,0);
ตอนนี้เมื่อคุณเรนเดอร์บนผืนผ้าใบ คุณจะใช้พิกัดขนาดหน้าจอ
ctx.fillRect(0,0,500,500); // fill all of the canvas.
ctx.fillStyle = "red"; // draw a red circle 100 display pixels in size.
ctx.beginPath();
ctx.arc(250,250,100,0,Math.PI * 2);
ctx.fill();
เมื่อคุณบันทึกผืนผ้าใบ วิธีใดก็ตามที่คุณใช้ตราบใดที่ไม่ได้จับภาพหน้าจอ ผืนผ้าใบที่บันทึกไว้จะเป็น 1600 x 1600 และการเรนเดอร์ทั้งหมดจะอยู่ในตำแหน่งที่ถูกต้องและเป็นสัดส่วน
person
Blindman67
schedule
15.02.2017