タグ

PNGとimageに関するkyo_agoのブックマーク (3)

  • 画像ライブラリGrappyの作成と、ImageMagick, GDとの比較【実装編】 | 株式会社サイバーエージェント

    概要 簡単な画像処理機能も備えた、シンプルかつ高速そしてAnimationGIFをサポートした画像形式変換ライブラリの Grappy を実装した。 これの性能について、ImageMagick, GDと、下記の比較を行った。 SSIMによる画質の比較 処理速度 Valgrindを使ったヒープメモリの使用量 ファイルサイズに関して 最後にそれらとの比較結果から、Grappyの優位性について述べた。 1.はじめに 画像のエンコード・デコードやリサイズといった処理をサービスに組み込もうと考えた場合、多くの場合は高レベルな画像処理をサポートした既存のライブラリの利用を検討することとなる。 しかし、既存のライブラリは機能と速度のバランスが悪く、使いにくいものであった。 Webサービスの中に画像関係の機能を取り入れる場合、求められるのは次のような単純な要求項目に限られる場合が多い。 JPEG, PN

  • ファイルサイズを考慮した Canvas の保存 : document

    12月18 ファイルサイズを考慮した Canvas の保存 こんにちは、18 日以降の Graphical Web Advent Calendar が空いているので、場をつなぐ意味も込めて簡単な記事を投稿させていただきます。 先日の記事では PNG の仕様について書きましたが、その知識をさっそく生かす事ができます。 また、この記事では HTMLCanvasElement を省略して Canvas と表記させていただきます。 Canvas#toDataURL() さて、一般的に Canvas の描画状況を保存しようと思うと、Canvas#toDataURL メソッドを使用すると思います。 ですが、このメソッドで保存された画像がどのようになっているかご存知の方はあまりいないと思います。 まずは、以下のコードで簡単な Canvas 描画を行ってみます。 function draw1(target

  • PNG軽量化の減色と圧縮について | GREE Engineering

    このテーブルの番号は 1 Byte になっているため、0-255 の 256 個しか登録できません。そのため、画像で使用されている色が 256 個より多い場合は、なんとかして 256 個にしなくてはいけません。 この「なんとかして 256 色にする」というのが減色処理で、なるべく元の画像からの変化を分からないようにしながら色を減らしていくためのアルゴリズム実装です。(この記事では減色アルゴリズムについての説明は省略します。) テーブルを作成したら、画像のそれぞれのピクセルを RGB 形式からテーブルの何番目の色を使うかに置き換えます。 上図のように、1 ピクセルあたり 24bit 必要だった画像が 1 ピクセルあたり 8bit になったので、データサイズは大体 1/3 になります。 (パレットのデータに最大 3 Byte * 256 = 768 Byte 必要とか、同じように圧縮されないと

    PNG軽量化の減色と圧縮について | GREE Engineering
  • 1