…L@iH°k7n¬€X K"Y^ÒšTy"È¡a"²*µöz½0uü°êN(x`¶X@ZÖwÔ8‡7É;_øéR ÇòGÌÁ»Gûíî*!@ÛN§Úâjbýóòâ /Ò¬ó.ÒDm|HÑK2õ»À˜UYÙ§bid ddates2025-12-20T20:15:00etitlex8ãã‚ãã‚ウェッピー(WebP)を標準ã«ï¼Ÿ WebP.jsdtagsi#js #wasmcurlxhttps://fukuno.jig.jp/4896dbodyyõ ç”»åƒå½¢å¼ã§PNGã‚„JPEGãŒå…¥ã‚Šæ··ã˜ã‚‹ã®ãŒåœ°å‘³ã«é¢å€’ãªã®ã§ã€WebPã«ã—ã¦ã¿ã‚‹ã“ã¨ã‚’検討ã—ã¾ã™ã€‚

自分ã®ãƒ–ログを検索ã—ã¦ã¿ã‚‹ã¨2011年時点ã§ã¯é€éŽå¯¾å¿œãŒãªãPNGã®ç½®ãæ›ãˆãŒã§ãã¾ã›ã‚“ã§ã—ãŸãŒã€ãã®å¾Œå¯¾å¿œã—ã¦ã„ã¾ã—ãŸã€‚(å‚考ã€WebPã¸ã®è¦æœ›ã€ï¼“ã¤ï¼ˆé€éŽå¯¾å¿œã‚’ãœã²ï¼ï¼‰ï¼‰


「code4fukui/WebPã€

オープンソースã®JavaScript/WebAssmeblyã«ã‚ˆã‚‹ç”»åƒå¤‰æ›ãƒ—ロジェクト「squooshã€å†…ã®ã€Œcodecs/webpã€ã‚’ã€bin2js を使ã£ã¦ã€ãƒ–ラウザã‹ã‚‰ã‚‚Denoã‹ã‚‰ã‚‚使ãˆã‚‹ã€ESモジュール化ã¨ã—ã¦ã¾ã¨ã‚ã¾ã—ãŸã€‚

WebAssmembly(wasm)ã¯ã€ãƒã‚¤ãƒŠãƒªãƒ•ァイルを読ã¿è¾¼ã‚“ã§ç”Ÿæˆã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ãŒã€ãƒ•ァイルã‹ã©ã†ã‹ã‚„ã€å–å¾—å…ƒã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®æ‰±ã„ãŒé¢å€’ã§ã™ã€‚ãƒã‚¤ãƒŠãƒªã‚’JavaScriptã®ãƒ‡ãƒ¼ã‚¿ã¨ã—㦠bin2js 変æ›ã™ã‚Œã°ã€importã—ã¦ä½¿ãˆã¦ä¾¿åˆ©ï¼

WebP.js ã¨ã—ã¦ã€PNGã‚„JPEGã¨åŒæ§˜ã€ç°¡å˜ã«æ‰±ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚

import { WebP } from "https://code4fukui.github.io/WebP/WebP.js"; const webpbin = await Deno.readFile('./example.webp'); const image = WebP.decode(webpbin); console.log(image); const webpbin2 = WebP.encode(image); console.log(webpbin2.length);

3ã¤ç›®ã®è¦æœ›ã€ã‚‚ã†ã¡ã‚‡ã£ã¨ã„ã„åå‰ã¯å¼•ãç¶šãå¶ãˆã¦ã»ã—ã„ã¨ã“ã‚。
ã¾ãŸã€macã®ã‚¢ãƒ—リã€ãƒ—レビューã§ã®æ›¸ã出ã—ã§WebP対応ã—ã¦ã„ãªã„ã®ã‚‚ç—›ã„。 cimgxGhttps://img.sabae.cc/data/2059/535c92a9-e244-4bf9-87d3-02672900a4cb.jpg