Comments (3)
Good idea! I just implemented this with commit c004099, allowing you to do this:
// Load a huge image
const im = vips.Image.black(100000, 100000);
// Attach progress feedback
let lastPercent = 0;
im.onProgress = (percent) => {
// This callback is triggered once per work unit (typically a 128 x
// 128 area of pixels) during image computation. Therefore, we only
// need to print when there's a change in the percentage.
if (percent !== lastPercent) {
console.log(`${percent}% complete`);
lastPercent = percent;
}
// To stop long-running computations, we could block evaluation after a
// certain amount of time. To avoid complexity in this example, issue the
// kill signal after 25% completion.
if (percent >= 25) {
im.kill = true;
}
};
// Save
im.writeToFile('x.png');
I also made it possible to stop long-running computations with commit 20f8414, as shown in the example above.
This will be in v0.0.8.
from wasm-vips.
This is fantastic, thanks a lot for this fast response & implementation!
Looking forward to implementing both in my project.
from wasm-vips.
v0.0.8 is now available with these improvements.
from wasm-vips.
Related Issues (20)
- `wasm-vips` is unstable on Node `18.14.2+` and `19.4.0+` HOT 11
- Unstable on Deno HOT 2
- Playground feature request: ability to import file from disk HOT 3
- `WasmTrapJSTypeError` while loading an SVG when building with LTO HOT 3
- Docker compilation error HOT 6
- setup wasm-vips for next.js/react HOT 3
- TS types improvements HOT 3
- writeToBuffer increases RSS size till OOMKilled HOT 3
- Not working on deno deploy HOT 1
- ab [vips::Error]: no such operation pdfload_buffer VipsOperation: class "pdfload_buffer" not found HOT 1
- JPEG 2000 Support HOT 2
- Errors with vite HOT 27
- No paths work when reading files (Deno) HOT 2
- Promise remains in pending mode HOT 3
- Error `heifload: ignoring nclx profile` when converting to AVIF and resizing HOT 4
- Error: need to see wasm magic number HOT 1
- Enhancement — more modular loading HOT 3
- Interlace option in jpegsaveBuffer doesn’t seem to work HOT 3
- [Question] How do you deal with CDNs and Vite HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wasm-vips.