From 3f752decb70fb857c84469d95180a48db6e7adcd Mon Sep 17 00:00:00 2001 From: Nicolas MARTEAU Date: Thu, 4 Jul 2024 14:28:42 +0200 Subject: [PATCH] docs: improve readme.md --- README.md | 66 ++++++++++----------------- docs/images/bench1.png | Bin 0 -> 20984 bytes docs/images/bench2.png | Bin 0 -> 21111 bytes docs/images/bench3.png | Bin 0 -> 21846 bytes docs/{ => images}/heif-converter.jpg | Bin 5 files changed, 25 insertions(+), 41 deletions(-) create mode 100644 docs/images/bench1.png create mode 100644 docs/images/bench2.png create mode 100644 docs/images/bench3.png rename docs/{ => images}/heif-converter.jpg (100%) diff --git a/README.md b/README.md index 9a99d0a..4fbc632 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- +

# 🥦 HEIF-Converter @@ -39,9 +39,12 @@ npm install heif-converter ``` ## 🚀 API -- ### toJpeg +
+toJpeg +
The **toJpeg** method converts the primary image of a HEIC file to **jpg**. +> Converts only the primary image of the HEIC file. ```ts interface JpegOptions { @@ -61,9 +64,14 @@ const jpegBuffer = await lib.toJpeg("image.heic", { quality: 20 }); ``` > The value of the quality option is from 0 to 100. Default 75. -- ### toPng +
+
+toPng +
The **toPng** method converts the primary image of a HEIC file to **png**. +> Converts only the primary image of the HEIC file. + ```ts function toPng(input: string | Buffer | Readable): Promise; ``` @@ -74,7 +82,10 @@ const pngBuffer = await lib.toPng("image.heic", { compression: 5 }); ``` > The value of the compression` option is from 1 to 9. Default 1. -- ### extract +
+
+extract +
The **extract** method allows you to obtain a list of images contained in a HEIC file. Each extracted image has two methods, **toJpeg** and **toPng**, which allow you to convert the image to JPEG or PNG format, respectively, as documented above. ```ts @@ -102,52 +113,25 @@ for (image of images) { } ``` +
+ ## Benchmark -The benchmark is accessible in the ./bench folder. You can run the following commands. +The benchmark is accessible in the ./benchmark folder. You can run the following commands. ```bash -$ node ./bench/bench.js 1 +$ node ./benchmark/bench.js 1 # OR -$ node ./bench/bench.js 2 +$ node ./benchmark/bench.js 2 # OR -$ node ./bench/bench.js 3 +$ node ./benchmark/bench.js 3 ``` -This benchmark was conducted on a mid-range machine +This benchmark was conducted on a mid-range machine. #### HEIC file containing an image of 3992*2992. -``` -┌─────────┬──────────────────────────┬─────────┬────────────────────┬──────────┬─────────┐ -│ (index) │ Task Name │ ops/sec │ Average Time (ns) │ Margin │ Samples │ -├─────────┼──────────────────────────┼─────────┼────────────────────┼──────────┼─────────┤ -│ 0 │ 'JPG ==> heif-converter' │ '5' │ 168399799.99999997 │ '±1.24%' │ 10 │ -│ 1 │ 'JPG ==> heic-convert' │ '0' │ 1094995630.0000002 │ '±0.63%' │ 10 │ -│ 2 │ 'PNG ==> heif-converter' │ '1' │ 715495539.9999995 │ '±0.18%' │ 10 │ -│ 3 │ 'PNG ==> heic-convert' │ '0' │ 1691614560.0000005 │ '±0.47%' │ 10 │ -└─────────┴──────────────────────────┴─────────┴────────────────────┴──────────┴─────────┘ -``` - + #### HEIC file containing an image of 2400*1600. -``` -┌─────────┬──────────────────────────┬─────────┬────────────────────┬──────────┬─────────┐ -│ (index) │ Task Name │ ops/sec │ Average Time (ns) │ Margin │ Samples │ -├─────────┼──────────────────────────┼─────────┼────────────────────┼──────────┼─────────┤ -│ 0 │ 'JPG ==> heif-converter' │ '9' │ 107019470.00000027 │ '±0.67%' │ 10 │ -│ 1 │ 'JPG ==> heic-convert' │ '3' │ 287341830.0000001 │ '±1.53%' │ 10 │ -│ 2 │ 'PNG ==> heif-converter' │ '5' │ 188958699.9999996 │ '±1.03%' │ 10 │ -│ 3 │ 'PNG ==> heic-convert' │ '2' │ 407586150.0000004 │ '±0.96%' │ 10 │ -└─────────┴──────────────────────────┴─────────┴────────────────────┴──────────┴─────────┘ -``` - + #### HEIC file containing an image of 640*426. -``` -┌─────────┬──────────────────────────┬─────────┬────────────────────┬───────────┬─────────┐ -│ (index) │ Task Name │ ops/sec │ Average Time (ns) │ Margin │ Samples │ -├─────────┼──────────────────────────┼─────────┼────────────────────┼───────────┼─────────┤ -│ 0 │ 'JPG ==> heif-converter' │ '108' │ 9191369.090909092 │ '±0.88%' │ 55 │ -│ 1 │ 'JPG ==> heic-convert' │ '31' │ 31666893.749999985 │ '±10.25%' │ 16 │ -│ 2 │ 'PNG ==> heif-converter' │ '66' │ 15030594.117647083 │ '±1.22%' │ 34 │ -│ 3 │ 'PNG ==> heic-convert' │ '31' │ 31297225.000000026 │ '±2.71%' │ 16 │ -└─────────┴──────────────────────────┴─────────┴────────────────────┴───────────┴─────────┘ -``` \ No newline at end of file + \ No newline at end of file diff --git a/docs/images/bench1.png b/docs/images/bench1.png new file mode 100644 index 0000000000000000000000000000000000000000..e6ab4740c39ef50133b7d334ed0356fff7f9baec GIT binary patch literal 20984 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%0DnXfPz#AC= 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 literal 0 HcmV?d00001 diff --git a/docs/images/bench3.png b/docs/images/bench3.png new file mode 100644 index 0000000000000000000000000000000000000000..1d18833201a0b2e8041b6360017d69f7be205c2a GIT binary patch literal 21846 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

CSt=TX?7Ol=mMk;YEMpmCJ2$7!xz2fh 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