Code Examples
Basic Annotation
const annotator = MarkinJS.createImageAnnotator('my-image'); // Simple bounding box annotator.createAnnotation({ class: "person", bbox: [100, 100, 300, 400] });
Keypoint Detection
// Face with keypoints annotator.createAnnotation({ class: "face", bbox: [100, 80, 200, 180], keypoints: [ { name: "left_eye", point: [130, 110] }, { name: "right_eye", point: [170, 110] }, { name: "nose", point: [150, 130] } ] });
Bound Elements
// Elements that move together annotator.createAnnotation({ class: "person", bbox: [150, 100, 300, 250], keypoints: [{ name: "head", point: [225, 130] }], bindElements: true, containRules: ["keypoint"] });
Event Handling
// Listen for interactions annotator.on('select', (data) => { console.log('Selected:', data.type); }); annotator.on('elementmoved', (data) => { console.log('Moved:', data.deltaX, data.deltaY); });
Keyboard Shortcuts
- Arrow Keys: Move by 1 pixel
- Shift + Arrow Keys: Move by 10 pixels
- Ctrl + Arrow Keys: Move by 0.2 pixels
- Delete Key: Remove annotation
- Ctrl + Z: Undo
- Ctrl + Shift + Z: Redo
Ready to Build Your Own Tool?
Start with our comprehensive API documentation