Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/refilelabs/image
Image layer repository holding all image tooling.
https://github.com/refilelabs/image
image-processing rust wasm zig
Last synced: 12 days ago
JSON representation
Image layer repository holding all image tooling.
- Host: GitHub
- URL: https://github.com/refilelabs/image
- Owner: refilelabs
- Created: 2024-11-05T23:38:39.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-01-05T22:54:04.000Z (about 1 month ago)
- Last Synced: 2025-01-05T23:27:16.125Z (about 1 month ago)
- Topics: image-processing, rust, wasm, zig
- Language: Vue
- Homepage: http://refilelabs.com
- Size: 197 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# refilelabs/image
The `refilelabs/image` repository provides core utilities for image manipulation within the [**re;file labs**](https://refilelabs.com) platform. It offers robust, high-performance image processing features powered by WebAssembly (WASM) for secure, browser-based operations.
## Features
- **Image Conversion**: Convert images between various formats (e.g., JPEG, PNG, WebP).
- **Image Editing**: Resize, crop, rotate, and flip images with ease. (Coming soon)
- **Image Compression**: Compress images to reduce file size while maintaining quality.
- **Image Viewing**: View images in a responsive, interactive viewer.
- **Metadata Editing**: View and edit metadata for supported image formats.
- **WebAssembly-Powered**: All operations run securely in the browser, leveraging WASM for speed and privacy.## Getting Started
### Prerequisites
- **bun**: The package manager and runtime used within the **re;file labs** ecosystem.
- **Rust**: For compiling WebAssembly components.
- **wasm-pack**: For building and packaging WebAssembly modules.### Installation
1. Clone the repository:
```bash
git clone https://github.com/refilelabs/image.git
cd image
```2. Install dependencies (also builds WebAssembly modules):
**Using Bun**:
```bash
bun i
```**Using npm**:
```bash
npm install
```**Using Yarn**:
```bash
yarn install
```**Using pnpm**:
```bash
pnpm install
```1. Start the development server:
**Using Bun**:
```bash
bun dev
```**Using npm**:
```bash
npm run dev
```**Using Yarn**:
```bash
yarn dev
```**Using pnpm**:
```bash
pnpm dev
```## Usage
### Components
If you want to use the image utility components in your own project, either include this nuxt layer using the [extends feature](https://nuxt.com/docs/getting-started/layers#usage):
```ts
export default defineNuxtConfig({
extends: [
'github:refilelabs/image',
]
})
```### Programmatic Usage
In case you want to use the actual wasm modules in your project, you can import them directly from the [`@refilelabs/image`](https://www.npmjs.com/package/@refilelabs/image/v/next) package.
## Project Structure
```
refilelabs/image
├── .playground/ # Temporary playground for testing
├── wasm/ # WebAssembly modules
├── components/ # Image processing components
├── composables/ # Shared Vue composables
├── workers/ # Web Workers for offloading compute-intensive tasks
└── tests/ # Unit tests
```## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
---
[**re;file labs**](https://refilelabs.com) — Your secure, private file utility suite.