
Security News
Astral Launches pyx: A Python-Native Package Registry
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
Convert HEIC/HEIF images to JPEG, PNG in browser using Javascript.
Inspired by heic2any and libheif-web. The purpose of heic-to is to continuously follow up on releases of libheif to be able to preview HEIC/HEIF images in browser.
Currently, heic-to is using libheif 1.20.2 under the hood.
Release | libheif |
---|---|
1.2.2 | 1.20.2 |
1.2.1 | 1.20.1 |
1.2.0 | 1.20.0 |
1.1.14 | 1.19.8 |
1.1.14 | 1.19.8 |
1.1.13 | 1.19.8 |
1.1.12 | 1.19.7 |
1.1.11 | 1.19.7 |
1.1.10 | 1.19.7 |
1.1.9 | 1.19.7 |
1.1.8 | 1.19.7 |
1.1.7 | 1.19.6 |
1.1.6 | 1.19.5 |
1.1.5 | 1.19.5 |
1.1.4 | 1.19.4 |
1.1.3 | 1.19.3 |
1.1.2 | 1.19.2 |
1.1.1 | 1.19.1 |
1.1.0 | 1.19.0 |
1.0.3 | 1.18.2 |
1.0.2 | 1.18.2 |
1.0.1 | 1.18.2 |
1.0.0 | 1.18.1 |
Try the 🌟 live demo.
import { isHeic } from "heic-to"
const file = field.files[0]
await isHeic(file)
import { heicTo } from "heic-to"
const file = field.files[0]
const jpeg = await heicTo({
blob: file,
type: "image/jpeg",
quality: 0.5
})
const png = await heicTo({
blob: file,
type: "image/png",
quality: 0.5
})
When meets CSP issue like this:
Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive
Fix it by using csp/heic-to
- import { heicTo } from "heic-to"
+ import { heicTo } from "heic-to/csp"
If you would like to access heic-to with pure JavaScript without package builder like with CDN.
<script src="https://cdn.jsdelivr.net/npm/heic-to@1.2.2/dist/iife/heic-to.js"></script>
<script>
/*...*/
if (await HeicTo.isHeic(file)) {
const jpeg = await HeicTo({
blob: file,
type: "image/jpeg",
quality: 0.5
})
/*...*/
}
/*...*/
</script>
If you want to call heicTo
in web workers:
- import { heicTo } from "heic-to"
+ import { heicTo } from "heic-to/next"
yarn s
This will open http://127.0.0.1:8080/example/
for easy testing.
brew install cmake make pkg-config x265 libde265 libjpeg libtool
brew install emscripten
git clone git@github.com:strukturag/libheif.git
Did below changes from build-emscripten.sh
# EXPORTED_FUNCTIONS=$($EMSDK/upstream/bin/llvm-nm $LIBHEIFA --format=just-symbols | grep "^heif_\|^de265_\|^aom_" | grep "[^:]$" | sed 's/^/_/' | paste -sd "," -)
EXPORTED_FUNCTIONS=$(/opt/homebrew/opt/llvm/bin/llvm-nm $LIBHEIFA --format=just-symbols | grep "^heif_\|^de265_\|^aom_" | grep "[^:]$" | sed 's/^/_/' | paste -sd "," -)
Start building
cd libheif
mkdir buildjs
cd buildjs
USE_WASM=0 ../build-emscripten.sh ..
# Or build without unsafe-eval
USE_UNSAFE_EVAL=0 USE_WASM=0 ../build-emscripten.sh ..
FAQs
Converting HEIF/HEIF image formats to PNG/JPEG in the browser
The npm package heic-to receives a total of 47,596 weekly downloads. As such, heic-to popularity was classified as popular.
We found that heic-to demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
Security News
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.
Security News
The latest Opengrep releases add Apex scanning, precision rule tuning, and performance gains for open source static code analysis.