タグ

pngに関するy-imayaのブックマーク (14)

  • はてなフォトライフに PNG をアップロードすると 64bit RGBA に変換されて無駄にファイルサイズが増える話 - しばやん雑記

    気が付いたきっかけは、フォトライフにアップロードした画像をダウンロードしたことでした。 Snipping Tool を使ってキャプチャした画像は常に 32bit PNG になるので、それを 24bit にしてからアップロードしようと思い、実際に反映されてるか確認を行いました。 はてなフォトライフの縮小処理おかしい気がする— しばやん (@shibayan) 2017年7月4日 200KB の PNG が 880KB になった— しばやん (@shibayan) 2017年7月4日 Windows のプロパティを表示すると、何故か 24bit だった画像が 64bit になってる。そんな仕様あったか— しばやん (@shibayan) 2017年7月4日 最初の方は Windows のプロパティ表示に問題があるのかなと思ってましたが、この辺りからはてなフォトライフの処理について疑うようになり

    はてなフォトライフに PNG をアップロードすると 64bit RGBA に変換されて無駄にファイルサイズが増える話 - しばやん雑記
  • Pngquantjs- Compress pngs right inside your browser

  • 『任意のデータをピクセルとして画像に埋め込んでみた』

    こんにちは、Morino(@kohei_april20)と申します。(だいぶ前にFlashの代替としてのHTML5というエントリを書いて今回2回目です) ちょっと前にスマホブラウザ向けのサービスでアバターを動かすアニメーションの仕組みが必要になった時がありました。それでボーンアニメーションやパラパラ漫画形式のアニメーションのスプライトシートによるアニメーションの仕組みを、Flashのアニメーション素材を元に生成して再生する仕組みを作ったりしていたのですが、その時に画像データにピクセルの色データとしてメタデータを埋め込む仕組みを作ったのでそれの紹介をしたいと思います。(ここ扱う画像はアルファ有りのPNG画像です) 特徴 スプライトシートアニメーションは通常スプライトシート画像とメタデータの少なくとも2つのデータを配信する必要があるのですが、このメタデータを画像データに突っ込んでしまえば一気に

    『任意のデータをピクセルとして画像に埋め込んでみた』
    y-imaya
    y-imaya 2014/02/10
  • でらうま倶楽部 : iOSでlibpngを使ってる人には朗報。NEON最適化

    2014年01月21日16:37 カテゴリiPhoneプログラム iOSでlibpngを使ってる人には朗報。NEON最適化 今日もコード書いてる?? 拙者はPNG画像を扱うのにlibpngを使っています。libpng使ってる人多いよね。OSXでもiOSでもWindowsでも同じコードで動くのだいじ。 んで先日1.6.8がリリースされとったのでいつも通りビルドしてiOSのプロジェクトにコピーして確認ついでにビルド。 …あれ?? リンクエラー… まさかと思ってプロジェクトにファイルを2つ追加。 arm/arm_init.carm/filter_neon_intrinsics.c おおおお!!!!! ビルド通った!!!!!!!! ちょっと前のバージョンだとclangでビルドできなかったNEON最適化コードがビルドできとる!!!! ざっくりと処理時間を計測してみたところ、処理時間が10%ほど短くな

    でらうま倶楽部 : iOSでlibpngを使ってる人には朗報。NEON最適化
    y-imaya
    y-imaya 2014/01/24
  • 『WebPの画質とファイルサイズを評価する』

    amebaは大量の画像をそのまま配信するだけでなく、ダイナミックに加工を行ったり画質を変えたりといった機能を備えたプロキシサーバも保有しており、そのアプリケーションの開発および運用を現在担っているのが私の属するチームになります。

    『WebPの画質とファイルサイズを評価する』
  • 細工したPNGファイルで任意のコード実行のセキュリティ脆弱性

    脆弱性対策情報ポータルサイトJVN (Japan Vulnerability Notes)に掲載された記事「libpng に NULL ポインタ参照の脆弱性」が、libpngの特定のバージョンにNULLポインタ参照のセキュリティ脆弱性があることを伝えた。影響を受けるバージョンは1.6.1から1.6.7まで。1.6.8でこのセキュリティ脆弱性は修正されており、libpngを利用している場合にはセキュリティ脆弱性が修正されたバージョンへのアップグレードが推奨される。 このセキュリティ脆弱性を利用されると、細工されたPNG画像データを読み込ませることでソフトウェアをクラッシュさせることができるほか、場合によっては任意のコードが実行される危険性がある。細工したPNG画像を用意するには一定の知識が必要になるが、画像を用意するだけでよく影響範囲は広いとみられる。NULLポインタ参照のセキュリティ脆弱性

  • php-ext-zopfliでPNG画像を再圧縮 - pixiv engineering blog

    MacBook Proを買ったのはいいもののそろそろLinuxに戻りたくなってきたbokkoです。 今回は先月末にGoogleから発表・公開されたばかりのzopfliの紹介と、 そのPHP拡張であるphp-ext-zopfliにPNG画像を再圧縮する関数を追加した時の話をします。 zopfli zopfliはzlibと比べて3〜8%ほど圧縮率が高く、 それでいてgzipやzlib等で広く使われているdeflateアルゴリズムと互換性のある圧縮アルゴリズムです。Google CodeでCによる実装が公開されています。 繰り返しになりますが、単にdeflateアルゴリズムよりも圧縮率が高いだけでなく、 deflateアルゴリズムと互換性がある、つまりzopfliで圧縮したものは従来のgzipやzlibで展開できるというのがミソです。 zopfliによるPNG画像の再圧縮 PNG画像はデータ部分

    y-imaya
    y-imaya 2013/03/26
    単にCでzopfliを使ってPNG画像を再圧縮するプログラムを書いたのがこちらのアカウントになります あと OptiPNG に入れてみたりしてる人もいますね https://github.com/sayurin/optipng-zopfli
  • PngSuite - the official set of PNG test images

    PNG capabilities Supported color-types are: grayscale grayscale + alpha-channel color palettes rgb rgb + alpha-channel Allowed bit-depths are depending on the color-type, but are in the range of 1-bit (grayscale, which is b&w) upto 16-bits. Special features are: interlacing (Adam-7) gamma-support transparency (a poor-man's alpha solution) File naming Where possible, the test-files are 32x32 bits i

    y-imaya
    y-imaya 2012/12/21
  • ファイルサイズを考慮した Canvas の保存 : document

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

    y-imaya
    y-imaya 2012/12/18
    Advent Calendar が途切れそうなので書いた
  • JavaScript で Png画像のエンコード (PngEncoder) : silverlight3でgamesのブログ

    February 02, 2010 JavaScript で Png画像のエンコード (PngEncoder) PNGエンコーダ:ループ内で関数呼び出しを使いまくった低速バージョンを公開 使い方: PngEncoder.encode(_arrayData,_intWidth,_intHeight) _arrayData : 数値配列:1ピクセルをRGBAの順に4つの配列要素で表し、全要素はByte値の取り得る0-255の数値を格納(2/12追記:単純に並べるのではなく、スキャンラインについて知っておくこと) _intWidth : 画像の幅 _intHeight : 画像の高さ // ループ内で関数呼び出しを多用した低速バージョン。 PngEncoder = new (function() { // private constants var _SIG=[0x89,0x50,0x4E,0x

    JavaScript で Png画像のエンコード (PngEncoder) : silverlight3でgamesのブログ
    y-imaya
    y-imaya 2012/12/18
    Truecolour固定、無圧縮、フィルタなし…かな
  • PNG 画像の解析と最適化ツール : document

    12月16 PNG 画像の解析と最適化ツール はじめに この記事は Graphical Web Advent Calendar の 16 日目の記事として書かれました。 Graphical Web ということで、PNG フォーマットの簡単な説明と Web ブラウザ上で動作する PNG 解析ツールを作ったので使い方と解析結果の見方について書いていこうと思います。 また、人気のある PNG 画像最適化ツールがどのような最適化を行っているのか調べていきます。 PNG の仕様に入る前に ここから、PNG の仕様について最低限の説明を書いていきます。 PNG の最適化や検証するときに必要になるので、退屈かもしれませんが軽く目を通してください。 以下の項目について、なんとなく分かれば良いです。 シグネチャ 必須チャンクの役割 IHDR PLTE IDAT IEND PNG 仕様概要 PNG フォーマッ

    y-imaya
    y-imaya 2012/12/16
    書きました
  • 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
    y-imaya
    y-imaya 2012/11/05
    書きました
  • png identify という PNG の情報を色々表示するものを作りました : document

    2月8 png identify という PNG の情報を色々表示するものを作りました png identify とは JavaScript で書かれた、PNG ファイルの様々な情報を表示するウェブブラウザ上で動作するアプリケーションです。(Chrome 16.0.912.77, Firefox 9.0.1 で動作確認) PNG, ZLIB の圧縮率向上をはかる際に、自分の求める詳細な情報を表示するツールが見当たらなかったので作成しました。 使い方 http://imaya.github.com/png.identify/ 上記のページを開き、そのページに PNG ファイルをドラッグアンドドロップするだけです。 どんな情報を表示する? まずはざっと一覧で。 ファイル名 イメージヘッダ チャンク パレット フィルタ イメージデータ圧縮関係 イメージヘッダ情報 PNG の IHDR チャンクの

    y-imaya
    y-imaya 2012/02/08
    書きました
  • PNG tech

    PNGtech Technical articles on the PNG file format and the related compression technologies This site contains a collection of comments, impressions, comparisons, experiments and ideas regarding the PNG (Portable Network Graphics) file format, and the related technologies: ZLIB (Data Compression Format and Library), and MNG (Multiple-Image Network Graphics). It is focused on the compression algorit

  • 1