What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
To create a screenshot of movable canvas content, represent every shape, text object, and image as a scene object, let the user drag those objects, then export the finished stage. For a practical implementation, Konva supplies draggable nodes, pointer handling, and image export; raw Canvas gives you maximum control but requires you to build hit testing and redraw logic yourself.
Choose an implementation approach
| Capability | Raw Canvas API | Konva | Fabric.js |
|---|---|---|---|
| Dragging | You implement hit testing, coordinate conversion, pointer capture, and redraw. | Set draggable: true; built-in hit detection and drag events handle interaction. |
Object events and transform events provide an event-driven model. |
| Export | Use browser canvas export methods. | toDataURL() and toBlob() support MIME type, quality, crop, and pixel ratio. |
toDataURL() supports format, quality, multiplier, crop, and retina options. |
| Input | Pointer Events implementation is yours. | Mouse, pen, and touch support through its event system. | Canvas pointer and object-event options. |
| Framework fit | Depends on your application. | Official examples cover React, Vue, Svelte, and Angular. | Use the library API directly with your framework. |
Konva describes itself as an “open-source 2D HTML5 Canvas JavaScript framework that provides an object-oriented API for canvas graphics.” See its FAQ. The tutorial below uses Konva because the scene graph keeps object state and rendering together.
Build a draggable Konva canvas
1. Add the library and a stage container
Create an HTML page with a container for the stage. This example loads Konva from a CDN; production applications can install the package with your normal JavaScript package manager.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Movable canvas screenshot</title>
<style>
#editor { width: 900px; max-width: 100%; margin: 1rem auto; }
#stage { border: 1px solid #bbb; background: #fff; }
button { margin: .25rem .5rem .25rem 0; }
</style>
</head>
<body>
<main id="editor">
<div id="stage" aria-label="Canvas editor"></div>
<button id="png" type="button">Download PNG</button>
<button id="jpeg" type="button">Download JPEG</button>
</main>
<script src="https://unpkg.com/konva@9/konva.min.js"></script>
<script src="app.js"></script>
</body>
</html>
A Stage owns one or more Layer objects. Shapes, text, and images belong to a layer, which Konva redraws when their properties change.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →#1 Best Overall
- PLEASE NOTE:XPPen Artist13.3 Pro drawing tablet Need to connect with computer,you need to use it with your computer or laptop, the 3 in 1 cable is included
- Drawing Tablet with Screen: Tilt Function- XPPen Artist 13.3 Pro supports up to 60 degrees of tilt function, so now you don't need to adjust the brush direction in the software again and again. Simply tilt to add shading to your creation and enjoy smoother and more natural transitions between lines and strokes
- Graphics Tablets: High Color Gamut- The 13.3 inch fully-laminated FHD Display pairs a superb color accuracy of 88% NTSC (Adobe RGB≧91%,sRGB≧123%) with a 178-degree viewing angle and delivers rich colors, vivid images, and dazzling details in a wider view. Your creative world is now as powerful as it is colorful
- Drawing Pad: One is enough- The sleek Red Dial on the display is expertly designed with creators in mind, its strategic placement allows for natural drawing postures. With just one wheel, you can effortlessly zoom in and out, adjust brush sizes, and flip the canvas—all tailored to suit the habits of everyday artists. The 8 customizable shortcut keys allow you to personalize your setup, streamlining your workflow and enhancing creative efficiency
- Universal Compatibility & Software Support:supports Windows 7 (or later), Mac OS X 10.10 (or later), Chrome OS 88 (or later), and Linux systems. Fully compatible with major creative software including Photoshop, Illustrator, SAI, and Blender 3D. Register your device to access additional programs like ArtRage 5 and openCanvas for expanded creative possibilities.
2. Create scene objects and enable dragging
const stage = new Konva.Stage({
container: 'stage',
width: 900,
height: 560
});
const layer = new Konva.Layer();
stage.add(layer);
const background = new Konva.Rect({
x: 0, y: 0, width: 900, height: 560,
fill: '#f7f8fa', listening: false
});
const card = new Konva.Rect({
x: 120, y: 110, width: 300, height: 180,
cornerRadius: 18, fill: '#1769e0', draggable: true,
name: 'card'
});
const heading = new Konva.Text({
x: 160, y: 165, text: 'Drag me', fontSize: 32,
fontFamily: 'Arial', fill: 'white', draggable: true,
name: 'heading'
});
const badge = new Konva.Circle({
x: 620, y: 230, radius: 70, fill: '#f59e0b',
draggable: true, name: 'badge'
});
layer.add(background, card, heading, badge);
layer.draw();
stage.on('dragstart', event => {
event.target.moveToTop();
layer.draw();
});
stage.on('dragmove', event => {
// Update labels, snapping guides, or application state here.
});
stage.on('dragend', event => {
const node = event.target;
console.log(node.name(), { x: node.x(), y: node.y() });
});
Konva documents dragstart, dragmove, and dragend in its drag-and-drop guide. Use dragmove for live feedback such as snapping or alignment lines. If the rest of your application only needs the final position, persist coordinates on dragend to avoid unnecessary state updates.
3. Persist positions
Keep your application model separate from the rendered nodes, especially when the composition must be saved or restored. A minimal model can be derived after a drag:
function readScene() {
return layer.getChildren()
.filter(node => node.name())
.map(node => ({
id: node.name(),
x: node.x(),
y: node.y()
}));
}
stage.on('dragend', () => {
localStorage.setItem('canvas-scene', JSON.stringify(readScene()));
});
On startup, parse that JSON and call node.position({x, y}) after creating each object. For a larger editor, store type, dimensions, styling, z-order, and asset identifiers as well as coordinates.
Export the final composition
PNG for transparency and lossless graphics
Export only after the user has finished arranging the objects. Konva’s stage data URL documentation shows stage.toDataURL():
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →document.querySelector('#png').addEventListener('click', () => {
const dataUrl = stage.toDataURL({
mimeType: 'image/png',
pixelRatio: 2
});
const link = document.createElement('a');
link.href = dataUrl;
link.download = 'composition.png';
link.click();
});
PNG is Konva’s default and preserves transparency. A pixelRatio of 2 doubles each dimension, producing four times as many output pixels; use the smallest ratio that meets your requirement because memory use rises with pixel area.
Rank #2
- Please note: Kamvas 13 (Gen 3) Pen Display is not a standalone product, this device must be connected to a computer/laptop to work.
- All-new Canvas Glass 2.0: HUION Kamvas 13 (Gen 3) drawing tablet for pc features a fully laminated 13.3-inch screen and brand new anti-sparkle canvas glass 2.0 for reduced glare and improved accuracy. It is perfect for designers, artists, and illustrators to unleash their creativity.
- Advanced PenTech 4.0 Technology: The 16384 levels of pressure sensitivity and 2g IAF ensure a fluid and natural drawing experience, while the 3 customized pen side buttons improve your workflow.
- Improved Color Accuracy: With enhanced color accuracy to Avg. ΔE<1.5, 16.7 million display colors, 99% sRGB coverage, and Rec.709 standard color gamuts, HUION Kamvas 13 (Gen 3) digital art tablet delivers stunning visuals.
- Rigorous Color Calibration: HUION Kamvas 13 (Gen 3) drawing monitor includes a factory calibration report for added assurance of color consistency.
JPEG for smaller photographic files
document.querySelector('#jpeg').addEventListener('click', () => {
const dataUrl = stage.toDataURL({
mimeType: 'image/jpeg',
quality: 0.85,
pixelRatio: 1
});
const link = document.createElement('a');
link.href = dataUrl;
link.download = 'composition.jpg';
link.click();
});
JPEG does not preserve transparency. Add an opaque background rectangle before exporting, as the example does, or transparent areas will not produce the result you expect.
Use a Blob for large exports
A data URL is a large encoded string. For high-resolution scenes, prefer toBlob() when available. Konva’s export guidance also documents cropping and MIME options.
function downloadBlob(blob, filename) {
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = filename;
link.click();
setTimeout(() => URL.revokeObjectURL(url), 1000);
}
async function exportPng() {
const blob = await new Promise(resolve => stage.toBlob(resolve, 'image/png', 1));
downloadBlob(blob, 'composition.png');
}
Check your Konva version’s method signature if you use an older release. A Blob avoids constructing one enormous data-URL string, but the browser still needs enough memory for the rendered pixels and encoded file.
Crop the screenshot
Pass x, y, width, and height to export just a region. This is useful when the editor workspace is larger than the requested image:
const cropped = stage.toDataURL({
x: 100, y: 80, width: 500, height: 350,
mimeType: 'image/png', pixelRatio: 2
});
Raw Canvas: what you must implement yourself
The browser’s 2D Canvas API draws pixels; it does not know that a rectangle is a movable object. Maintain an array such as {id, x, y, width, height}, then implement this interaction sequence:
Rank #3
- Ultra-Portable with Revolutionary X-Dial Wheels: Weighing only 1.58 lb with an 11.9" portable screen, XP Pen drawing tablet features dual X-Dial wheels that instantly adjust brush size and canvas zoom, saving 40% operation time. The 33% narrower bezels provide more drawing area, while 8 customizable keys prevent misoperations. Perfect for digital artists sketching in cafes or students carrying this tablet with pen between classes
- Eye-Care Paper-Feel Display: AG etched glass provides paper-like texture, reducing 85% glare and resisting fingerprints. Full lamination technology ensures the pen tip closely follows the cursor with nearly zero parallax. Ideal for architects detailing blueprints or illustrators working long hours - your eyes stay comfortable even after 8-hour sessions with this professional graphic tablet
- Magnetic X4 Pen with 16K Precision: The X4 chip drawing pen features 16,384 pressure levels and 60-degree tilt support, with 2g initial pressure perfect for feather-detail illustrations on your drawing tablet. 50% faster response speed and 200% steadier nibs prevent wobble during precise inking. Includes 10 replacement nibs and magnetic attachment to prevent loss. Enjoy professional drawing experience with smooth, natural strokes that respond to your every movement
- Pro Color Accuracy with Factory Calibration: This drawing tablet with screen delivers 1920x1080 Full HD resolution with 99% sRGB and ΔE<1.5 color accuracy displaying 16.7 million colors. Factory pre-calibrated with OSD menu adjustment ensures perfect color matching for professional photography retouching or brand design projects where color precision is critical
- Certified Universal Compatibility: This art tablet guarantees flawless performance across all major platforms: Windows 7 or later, macOS 10.13 or later, Android 10.0 or later, ChromeOS 88 or later, Linux, and Windows ARM. It is rigorously tested with top software including Photoshop, Clip Studio Paint, and Krita, ensuring a stable and hassle-free experience for freelancers and students collaborating across different ecosystems
- On
pointerdown, convert the event’s client coordinates to canvas coordinates using the canvas bounding rectangle and its scale. - Hit-test objects from front to back, selecting the first shape whose bounds contain the pointer.
- Store the pointer-to-object offset so the shape does not jump when dragging starts.
- Call
canvas.setPointerCapture(event.pointerId)so movement continues when the pointer leaves the element. - On
pointermove, update the selected object’s coordinates and redraw the complete scene. - On
pointeruporpointercancel, release capture, clear the selection, and persist the final coordinates.
Konva’s explanation of this model is in its canvas drag-and-drop article. Pointer Events cover mouse, pen, and touch, but keyboard users cannot drag canvas pixels. Provide HTML controls—arrow buttons, numeric position fields, or a list with Move-left/Move-right actions—for any movement that is essential to completing the task.
Images, fonts, and export failures
Cross-origin images can taint the canvas
If an image comes from another origin, the server must return an appropriate Access-Control-Allow-Origin header. Set crossOrigin before assigning src:
const image = new Image();
image.crossOrigin = 'anonymous';
image.onload = () => {
const node = new Konva.Image({ image, x: 40, y: 40, draggable: true });
layer.add(node);
layer.draw();
};
image.onerror = () => console.error('Image could not be loaded with CORS permission');
image.src = 'https://cdn.example.com/photo.jpg';
If the response lacks permission, exporting can throw a SecurityError or be blocked. Proxy the asset through a server you control, configure CORS on the asset host, or use same-origin files. See Konva’s data URL guidance and export documentation.
Wait for every asset
Do not export while images or web fonts are still loading. Resolve image onload promises, await document.fonts.ready where appropriate, then render and export. Otherwise the screenshot may contain missing images or fallback fonts.
Blank exports and browser limits
Browsers impose limits on canvas dimensions and total pixel area. An excessive stage size or pixel ratio can produce a blank image. Konva’s React export notes discuss these limits at Canvas Export. Reduce the stage dimensions, lower pixelRatio, crop the export, or split a very large image into tiles.
Rank #4
- ALL-IN-ONE DESIGN: 11.45" Android 14 tablet, 8 GB memory/128 GB storage, battery-free, slim barrel Pro Pen 3, no computer needed; comes with Wacom Canvas app, 2 years of CLIP STUDIO PAINT DEBUT & trials of Ibis Paint, Magma blaze & Artwod training
- QUICK DRAW READY: Tap and hold the pen on screen to instantly launch Wacom Canvas and start sketching or taking notes the moment an idea hits, just like opening a sketchbook or notebook
- BEST-IN-CLASS PEN PERFORMANCE: Designed for MovinkPad, this slim version of Wacom Pro Pen 3, delivers 8,192 pressure levels, has three buttons, and comes with replacement nibs stored in the pen's back end
- PAPER-LIKE DRAWING EXPERIENCE: bright, sharp display with matte etched glass surface that feels like paper with subtle texture - reduces glare and fingerprints so you can focus on creating without distractions
- THIN, LIGHT, PORTABLE: Weighs just 1.3lbs, lighter than most laptops and easily fits in a bag or backpack, supports popular digital pens (Dr. Grip, LAMY, STAEDTLER); goes wherever a sketchbook can go
Interaction and layout improvements
Keep dragging predictable
- Move the active node to the top on
dragstartwhen selection order matters. - Use a transparent, non-listening background node so clicks on empty space do not select it.
- Clamp positions to the stage bounds if objects must remain visible.
- Apply snapping in
dragmove, but save the committed position ondragend. - Throttle expensive side effects during
dragmove; Konva’s own redraw should remain responsive.
Make the editor usable on touch screens
Give draggable objects enough size for a finger, avoid relying on hover, and test pen and touch input separately from a mouse. Keep buttons outside the canvas so zoom and download actions remain accessible.
Or skip the browser setup
If your goal is a screenshot of a web page—not an interactive editor you are building—ScreenshotNeo captures it with one request. It accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed; response headers identify the page verdict and whether the request was billed. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf to Claude, Cursor, and other MCP clients.
For API parameters and the complete option list, see the ScreenshotNeo documentation. A basic request is:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
The same call in Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
And Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
const buffer = Buffer.from(await res.arrayBuffer());
ScreenshotNeo also supports full-page captures with lazy images loaded, CSS-selector element captures, dark mode, device presets or custom viewports, retina scale, PDF settings, custom CSS and JavaScript, pre-capture clicks, selector hiding, selector/delay/network-idle waits, request blocking, headers, cookies, user agents, authorization, timezone, geolocation, transparent backgrounds, resizing, chosen cache TTLs, signed image links, asynchronous webhooks, bulk capture of up to 100 URLs per call, usage reporting, and an OpenAPI specification. Every feature is available on every plan. The Free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 shots. Sign up free.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshooting checklist
| Symptom | Likely cause | Fix |
|---|---|---|
| Object does not move | draggable is missing, or an overlay receives the pointer. |
Set draggable: true, inspect node order, and ensure the intended node is listening. |
| Object jumps on drag | Code uses the pointer position as the object’s top-left corner. | Store the pointer-to-object offset on pointerdown or let Konva manage it. |
| Export is blank | Stage is too large, pixel ratio is excessive, or assets are not loaded. | Wait for assets, crop the region, lower pixelRatio, and test a smaller stage. |
SecurityError on export |
A cross-origin image tainted the canvas. | Set crossOrigin before src and configure the server’s CORS header, or proxy the image. |
| JPEG has an unexpected background | JPEG cannot encode transparency. | Add an opaque background shape before exporting. |
| Text looks different in the file | Web fonts were still loading. | Await document.fonts.ready before the final draw and export. |
FAQ
Can I export only the selected object?
Yes. Supply that node’s bounding box as the export region’s x, y, width, and height, adding padding if required.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchShould I save the canvas bitmap or the scene data?
Save scene data when users may edit the composition again. A bitmap preserves appearance but not object identity, coordinates, or text.
Best Value
- PLEASE NOTE: The XPPen Artist Ultra 16 Touchscreen Drawing Tablet needs to connect with a computer to use. You need to use it with your Computer or Laptop
- Next-Level Visuals with 4K OLED Screen: Experience breathtaking clarity and vibrant color with a 15.6-inch 4K OLED drawing tablet with screen. It boasts AMOLED technology, 3840 x 2160 UHD resolution, 100,000:1 contrast ratio, <1 ms response time, full laminated technology, anti-glare etched glass, AF coating, TÜV SÜD low blue light certification, which will bring you lifelike, exquisite, and crystal-clear images effortlessly, achieving instant feedback similar to drawing on paper, ideal for professional illustration, photo retouching, and animation
- Exceptional Color Performance: The Calman-verified UHD drawing monitor can not only showcase 1.07 Billion Colors (10-bit colors), but also features a 99% Adobe RGB, 99% sRGB, 98% Display P3 color gamut coverage ratio, and Delta E<1.1*, professional color accuracy, perfectly meeting the needs of creative professionals. 99% Adobe RGB coverage is suitable for professional photography and print reproduction. The 99% sRGB ensures color precision for all web designers and Social Media Content Creators, while 98% Display P3 delivers a cinema-level immersive viewing experience with video editors and game artists
- Revolutionary X-Touch Interaction: The all-new X-Touch solution is a powerful solution that allows for multi-point touch, enabling you to slide, zoom, and rotate the canvas with any of your fingers. Most of the standard touch gestures from Windows and macOS can be applied to the Artist Ultra 16. Customizing three, four, and five-finger gestures is also allowed to suit your workflow needs
- Exclusive Customizable Area: Adjust the size of the touch area by drawing a rectangle on the touchscreen. The touch function won't work in the rectangle. It can help you permanently prevent palm accidents for undisturbed, focused creation
Does increasing pixel ratio change object positions?
No. It changes output resolution while scene coordinates remain the same; it does increase memory and encoding cost.
Can a canvas screenshot be made accessible?
The bitmap itself has no semantic object tree. Pair it with accessible HTML controls and a textual description of important content, and do not make pointer dragging the only way to complete an action.
Frequently Asked Questions
Can I export only the selected object?
Yes. Supply that node’s bounding box as the export region’s x, y, width, and height, adding padding if required.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsShould I save the canvas bitmap or the scene data?
Save scene data when users may edit the composition again. A bitmap preserves appearance but not object identity, coordinates, or text.
Does increasing pixel ratio change object positions?
No. It changes output resolution while scene coordinates remain the same; it does increase memory and encoding cost.
Can a canvas screenshot be made accessible?
The bitmap itself has no semantic object tree. Pair it with accessible HTML controls and a textual description of important content, and do not make pointer dragging the only way to complete an action.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

