Canvas を使わず、PNG8(インデックスカラー)を直接バイナリ生成・解析して ZIP と相互変換します。 1ピクセル = 1バイト(パレットインデックス)で完全可逆です。
ZIPファイルを読み取り、そのバイト列を Indexed-color PNG のピクセル値として書き込みます。
上のエンコーダで生成した PNG8 を読み取り、中のバイト列を ZIP として復元します。