Rough.js
- Rough.js เป็นไลบรารีกราฟิกขนาดเล็กสำหรับวาดกราฟิกในสไตล์ภาพวาดด้วยมือแบบสเก็ตช์
- มีรูปทรงพื้นฐานสำหรับวาดเส้น เส้นโค้ง ส่วนโค้ง รูปหลายเหลี่ยม วงกลม และวงรี รวมถึงรองรับการวาด SVG path
- Rough.js ใช้งานได้ทั้งบน canvas และ SVG
การติดตั้ง
- ติดตั้งผ่าน npm:
npm install --save roughjs
- ใช้งานในโค้ด:
import rough from 'roughjs';
วิธีใช้งาน
- สามารถดู Rough.js API ทั้งหมดได้บน Github
- ตัวอย่างการใช้ canvas:
const rc = rough.canvas(document.getElementById('canvas')); rc.rectangle(10, 10, 200, 200);
- ตัวอย่างการใช้ SVG:
const rc = rough.svg(svg); let node = rc.rectangle(10, 10, 200, 200); svg.appendChild(node);
เส้นและวงรี
- ตัวอย่างการวาดวงกลม วงรี และเส้น:
rc.circle(80, 120, 50); rc.ellipse(300, 100, 150, 80); rc.line(80, 120, 300, 100);
การเติมสี
- สไตล์การเติมสีมี hachure (ค่าเริ่มต้น), solid, zigzag, cross-hatch, dots, sunburst, dashed, zigzag-line เป็นต้น
- ตัวอย่างการเติมสี:
rc.circle(50, 50, 80, { fill: 'red' }); rc.rectangle(120, 15, 80, 80, { fill: 'red' });
สไตล์สเก็ตช์
- ตัวอย่างการปรับสไตล์สเก็ตช์:
rc.rectangle(15, 15, 80, 80, { roughness: 0.5, fill: 'red' }); rc.rectangle(220, 15, 80, 80, { bowing: 6, stroke: 'green', strokeWidth: 3 });
SVG path
- ตัวอย่างการวาด SVG path:
rc.path('M80 80 A 45 45, 0, 0, 0, 125 125 L 125 80 Z', { fill: 'green' });
ตัวอย่าง
API & เอกสาร
เครดิต
- อัลกอริทึมหลักสำหรับวาดเส้นขอบของเส้นและวงรีนำมาจากไลบรารี handyprocessing
- อัลกอริทึมสำหรับแปลง SVG arc ไปเป็น canvas นำมาจากโค้ดเบสของ Mozilla
สนับสนุนโปรเจ็กต์นี้
- สามารถสนับสนุนโปรเจ็กต์นี้ได้ผ่าน Github Sponsors หรือ Open Collective
- โปรเจ็กต์นี้ได้รับการสนับสนุนจาก Excalidraw, Cube, Diagrams.net, Terrastruct, SheetJS, Poster Maker, Chartle เป็นต้น
ใบอนุญาต
- ใบอนุญาต MIT, ลิขสิทธิ์โดย Preet Shihn
ความเห็นของ GN⁺
- Rough.js เป็นไลบรารีที่โดดเด่นซึ่งช่วยให้ผู้ใช้สร้างกราฟิกสไตล์วาดด้วยมือบนเว็บได้อย่างง่ายดาย
- ความสามารถในการปรับสไตล์การเติมสีและสไตล์สเก็ตช์ที่หลากหลาย ช่วยเพิ่มมิติใหม่ให้กับงานออกแบบกราฟิกบนเว็บ
- ไลบรารีนี้ได้รับการสนับสนุนจากชุมชนโอเพนซอร์ส และถูกผสานรวมเข้ากับเครื่องมือบนเว็บหลากหลายประเภท ช่วยยกระดับประสบการณ์ของผู้ใช้
1 ความคิดเห็น
ความเห็นจาก Hacker News
กรณีใช้งานของ RoughNotation และ RoughJS
Wired Elements และ svg2roughjs
การสร้าง mockup แบบโต้ตอบได้ด้วย RoughJS
การใช้งาน RoughJS ที่หลากหลาย
สรุปนี้แสดงให้เห็นจากคอมเมนต์บน Hacker News ถึงกรณีใช้งานที่หลากหลายของ RoughJS และเครื่องมือที่เกี่ยวข้อง รวมถึงประสบการณ์เชิงบวกของผู้ใช้ RoughJS เป็นไลบรารี JavaScript สำหรับสร้างกราฟิกสไตล์สเก็ตช์ที่ดูเหมือนวาดด้วยมือ ได้รับความนิยมในหมู่นักพัฒนาเว็บ และถูกนำไปใช้สร้าง mockup, กราฟ, องค์ประกอบแบบโต้ตอบได้ และเว็บคอมโพเนนต์หลากหลายรูปแบบ.