3

ウェブサイト用の小さなグラフィック要素を作成する必要があるときは、 patternifypixieengineを使用しています。今まで気になりませんでした - ピクセルエディタは数日前に死んでいます。なぜこれらのウェブサイト?base64 コード圧縮のためです。

例:

Patternify - 5x5 ピクセルのパターンを黒色で塗りつぶします。これは取得できる base64 コードです。

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAEUlEQVQImWNgYGD4jwVTXRAA9qoY6Kb21uEAAAAASUVORK5CYII=

それは短く、すべてが期待どおりに機能します。

ここで、これらのサイトを除いた短い base64 コードを作成してみます。上記と同じ5x5の黒い正方形をPhotoshopで作成し、これを可能なすべての形式で保存しました。次に、いくつかのオンラインエンコーダーを見つけましたが、これは彼らが私にくれたものです:

iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAMAAAC6sdbXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTM1QjVGOEU0MDkxMTFFM0E5MDlGOUFDNDM5REVCMUQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTM1QjVGOEY0MDkxMTFFM0E5MDlGOUFDNDM5REVCMUQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMzVCNUY4QzQwOTExMUUzQTkwOUY5QUM0MzlERUIxRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMzVCNUY4RDQwOTExMUUzQTkwOUY5QUM0MzlERUIxRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg8gB7gAAAAGUExURQAAAP///6XZn90AAAAOSURBVHjaYmDABwACDAAAHgABzCCyiwAAAABJRU5ErkJggg==

はるかに長いコードとファイルの重量は、patternify ~ 950 B の PNG に似ていました

Patternify には 10x10 ピクセルまでの制限があります。したがって、より大きな要素の場合、pixieengine を使用する必要があります。これは、patternify とまったく同じ圧縮レベルを持ち、制限はありません。patternify/pixieengine の圧縮レベルを達成する「オフライン」の方法はありますか?

4

1 に答える 1

2

これは base64 エンコーディングに関する問題ではなく、画像圧縮に関する問題です。Base64 エンコーディングは、暗黙のうちに画像のバイト数を減らすことはありません。実際には、より多くのバイト数を使用します (バイナリとそのバイナリの文字列表現)。元の PNG をpngcrushなどの優れた圧縮ツールで実行し、base64 としてエンコードします

于 2014-02-28T20:12:48.120 に答える