Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Develop interactive PaperJS applications for visual drawing, animation, and vector graphics. Create canvas-based experiences with JavaScript and PaperJS framework.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Undeveloped: Canvas basics; difficult coordinate math.
Target: Using PaperJS vector operations, handling paths and shapes, basic interaction.
Optimized: Complex interactive tools, optimized rendering, efficient event handling.
PaperJS simplifies vector graphics. Instead of manual canvas drawing and math, PaperJS provides high-level abstractions for paths, shapes, and transformations—enabling faster interactive graphics development.
Install PaperJS:
npm install paper
# or via CDN in HTML:
<script src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.15/paper-full.min.js"></script>
Create canvas:
<canvas id="myCanvas"></canvas>
<script>
// Get paper ready
paper.setup('myCanvas');
// Create a simple circle
const circle = new paper.Path.Circle({
center: [100, 100],
radius: 50,
fillColor: 'blue'
});
// Render
paper.view.draw();
</script>
Create and manipulate shapes:
// Circle
const circle = new paper.Path.Circle({
center: [100, 100],
radius: 50,
fillColor: 'blue'
});
// Rectangle
const rect = new paper.Path.Rectangle({
point: [50, 50],
size: [100, 50],
fillColor: 'green'
});
// Custom path
const path = new paper.Path();
path.add([10, 10]);
path.add([20, 20]);
path.add([30, 10]);
path.closed = true;
path.fillColor = 'red';
Handle mouse events:
const path = new paper.Path();
paper.tool.onMouseDown = (event) => {
path.add(event.point);
path.strokeColor = 'black';
path.strokeWidth = 2;
};
paper.tool.onMouseDrag = (event) => {
path.add(event.point);
path.smooth(); // Smooth the path
};
paper.tool.onMouseUp = () => {
// Path is complete
console.log('Draw complete');
};
Transform shapes:
const circle = new paper.Path.Circle({
center: [100, 100],
radius: 50,
fillColor: 'blue'
});
// Rotate
circle.rotate(45);
// Scale
circle.scale(2);
// Move
circle.position.x += 50;
Create animated effects:
let angle = 0;
paper.view.onFrame = (event) => {
angle += 1;
// Update position based on angle
circle.position.x = 100 + Math.cos(angle * Math.PI / 180) * 50;
circle.position.y = 100 + Math.sin(angle * Math.PI / 180) * 50;
};
Detect clicks on shapes:
paper.tool.onMouseDown = (event) => {
// Find item at point
const hitResult = paper.project.hitTest(event.point);
if (hitResult) {
console.log('Clicked:', hitResult.item.name);
hitResult.item.selected = true;
}
};
Deliver:
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.