หมายเหตุ : นี้จะทำอย่างไรกับวิธีการที่องค์ประกอบผ้าใบที่มีอยู่จะแสดงผลเมื่อปรับขนาดขึ้น ,ไม่ได้จะทำอย่างไรกับสายหรือกราฟิกจะแสดงผลบนพื้นผิวผ้าใบ ในคำอื่น ๆ นี้มีทุกสิ่งที่จะทำอย่างไรกับการแก้ไขขององค์ประกอบที่ปรับขนาดได้และไม่มีอะไรจะทำอย่างไรกับการลดรอยหยักของกราฟิกถูกวาดบนผืนผ้าใบ ฉันไม่ได้กังวลว่าเบราว์เซอร์จะลากเส้นอย่างไร ฉันดูแลเกี่ยวกับวิธีการเบราว์เซอร์วาทกรรมองค์ประกอบผ้าใบตัวเองเมื่อมีการปรับขนาดขึ้น
มีคุณสมบัติผ้าใบหรือการตั้งค่าเบราว์เซอร์ที่ฉันสามารถเปลี่ยนโดยทางโปรแกรมเพื่อปิดใช้งานการแก้ไขเมื่อปรับขนาด<canvas>
องค์ประกอบได้หรือไม่ โซลูชันข้ามเบราว์เซอร์เหมาะอย่างยิ่ง แต่ไม่จำเป็น เบราว์เซอร์ที่ใช้ Webkit เป็นเป้าหมายหลักของฉัน ประสิทธิภาพเป็นสิ่งสำคัญมาก
คำถามนี้คล้ายกันมากที่สุด แต่ไม่ได้อธิบายถึงปัญหาอย่างเพียงพอ สำหรับสิ่งที่คุ้มค่าฉันพยายามimage-rendering: -webkit-optimize-contrast
แล้ว
แอปพลิเคชันนี้จะเป็นเกม 8 บิตสไตล์ "ย้อนยุค" ที่เขียนด้วย HTML5 + JS เพื่อให้ชัดเจนว่าฉันต้องการอะไร
เพื่อเป็นตัวอย่างนี่คือตัวอย่าง ( เวอร์ชันสด )
สมมติว่าฉันมีผ้าใบขนาด 21x21 ...
<canvas id='b' width='21' height='21'></canvas>
... ซึ่งมี css ที่ทำให้องค์ประกอบใหญ่ขึ้น 5 เท่า (105x105):
canvas { border: 5px solid #ddd; }
canvas#b { width: 105px; height: 105px; } /* 5 * 21 = 105 */
ฉันวาด 'X' ง่ายๆบนผืนผ้าใบดังนี้:
$('canvas').each(function () {
var ctx = this.getContext("2d");
ctx.moveTo(0,0);
ctx.lineTo(21,21);
ctx.moveTo(0,21);
ctx.lineTo(21,0);
ctx.stroke();
});
ภาพด้านซ้ายคือสิ่งที่ Chromium (14.0) แสดงผล ภาพด้านขวาคือสิ่งที่ฉันต้องการ (วาดด้วยมือเพื่อวัตถุประสงค์ในการอธิบาย)