CSSスプライトを作成するツール?[閉まっている]


126

cssスプライトを作成するための優れたツールはありますか?

理想的には、画像のディレクトリとそれらの画像を参照する既存の.cssファイルを与え、すべての小さな画像で最適化された大きな画像を作成し、それらの画像を参照するように.cssファイルを変更したいと思います。

少なくとも、画像のディレクトリを取得して、大きなスプライトと、それぞれを背景として使用するために必要な.cssを生成する必要があります。

これを行うための優れたphotoshopプラグインまたは完全に機能するアプリはありますか?



もう少し詳しく説明してもらえますか?すべてのスプライトを1つの大きな画像にコンパイルしてから、cssを使用して、正しいスプライトを含む画像の部分を表示しようとしていますか?(スライディングドアテクニック)
teh_noob 2009

1
スプライトパッドで白いアイコンが見えるように背景色を変更する方法はありますか?
ジム

24
なぜこれが閉鎖されたのか本当にわかりませんか?良い役に立つ答えがたくさんあるようです。私は特定のプログラミング言語について言及していないので、これは間違いなくスーパーユーザーの質問であるべきです。
Simon_Weaver 2013

3
神はこの質問を削除しないでください。これはこの問題についてインターネット上で最も役立つリストであり、確かにプログラミングに関連しています(たとえそれがプログラミングの質問ではないとしても)。これは間違いなく判断の呼びかけであり、改造によって強制終了されるべきでありませんでした。それがコミュニティの投票締め切りシステムの目的です...
BlueRaja-Danny Pflughoeft 2013年

回答:


46

これで作業の90%が実行されます:CSSスプライトジェネレーター。ルールを自分で編集する必要がありますが、ツールは新しいCSSファイルに必要なコードフラグメントを提供します。


@ben perfect!動作すると仮定;-)
Simon_Weaver

1
このツールに少し不満があるので、選択した回答として選択を解除します。最終的に私の画像がトリミングされてしまい、画像間に大きなギャップが残る理由がよく
わかりません

私はそれが大丈夫だと思いますが、私はこの解決策が好きではありません。SpriteMeの方がはるかにうまく機能するようです。
Chuck Le Butt

2
このツールの問題は、画像が完全な品質ではないことです。
ジム

50

インスタントスプライトは、ブラウザ内のCSSスプライトジェネレーターです。それは本当に速いですが、他のいくつかの機能ほど多くの機能はありません。JavaScript FileReaderとHTML Canvasを使用してアップロードせずにWebブラウザー内でスプライトを生成するため、現在はFirefoxまたはChromeでのみ機能します。


1
わあ、なんて素晴らしいツールでしょう。ありがとう!
ビビアン川

あなたがここに投稿して以来、私はあなたのツールをいくつかの製品Webサイトでの作業に使用しました。とてもシンプルで簡単です。
ビビアン川

7
+1。あなたのツールは、私が試した他のツールよりもはるかに優れています。
Ed Bayiates 2012

3
これは、これまでで最も直感的なものです...おかげで...(ただし、パフォーマンスの問題を最小限に抑えるために、スプライトの「スマート」レイアウトを含める必要があります)
kumarharsh

2
みんな、ありがとう!@過酷な、私はレイアウトについて同意します-私はかなり前にそれを試し始めましたが、うまくいき
Brian Grinstead

31

現在、Steve SoudersによるSprite Meがいます。試してみると、かなりうまくいくようです。

こちらがリンクhttp://spriteme.org/であり、こちらがそれを発表したブログ投稿です。

http://www.stevesouders.com/blog/2009/09/14/spriteme/


2
+1これは驚くほど簡単に使用できます。目的のページに移動して、SpriteMeブックマークレットをクリックするだけで、画像とCSSが自動的に作成されます。
チャックルバット

これは便利なツールですが、画像のZIPファイルが必要であり、スプライトを配置する順序はZIP順序です。以下のブライアンのツールを使用すると、ファイルをアップロードしてドラッグアンドドロップで順序を変更できます。
Ed Bayiates

私はそれが自由に利用できるソースコードを持っているのが好きです
lkraav '

13

これは有望に見えます:

http://csssprites.org/

また、私はこの記事にいくつかの有用な情報があり、読者のコメントでさえ読む価値があります。

また、どうやらグーグルウェブツールキットには何かがある-それであなたがそれを使っているならそれをチェックする価値があるかもしれない。


ページが機能しなくなったようです...
Bob

smartsprites.osinski.namecsssprites.orgに名前が変更されたので、編集しました。これは、私がここで見たものから、ビルドプロセスに統合できる数少ないオプションの1つであるようです。
ripper234 '30年

9

これを試して:

http://spritepad.wearekiss.com/


これは間違いなく合法です。保存されたスプライトマップIMHOは重要なので、画像の内容が変更されるたびに座標セット全体を再計算するのではなく、関連する画像とコード行のみが時間とともに変化する必要があります。
lkraav 2013

7

ZeroSpritesは、VLSIフロアプランアルゴリズムを使用してエリアの最小化を目的としたCSSスプライトジェネレーターです。


6

500Kのアップロード制限が面倒かもしれないという非常に速いこの1つを発見しました。ソースコードはこちらから入手できます


500kbのアップロードが面倒なのはなぜですか?おそらく100kbを超えるアップロードはしたくないでしょう
Simon_Weaver

痛みかもしれないと言った。それはちょっとアプリケーションによって異なりますか?..中サイズのPNGでいっぱいのzipファイル。たとえば、かなり大きなグリッドにある〜〜この数の近くで実行できます。そのすべての小さなビットマップなら、確かに/確率はありません。
Scott Evernden、2009

1
そうですが、cssスプライトの要点は、多数のリクエストでロードされる小さな画像がたくさんないようにすることです。本当にたくさんの小さなスプライトがあったとしても、何も表示されないほどロードするのに長い時間がかかります。それらを維持するのが最善です。あなたはいつでもいくつかを行うことができます
Simon_Weaver

画像を使ってたくさんの仕事をしています。たぶん少しのCSSビットマップではありません。多分それが私が警告を与えた理由です。あなたのニーズは異なります/大丈夫です。500kbは、ほとんどのブロードバンドで1秒で届きます。私は最初にあなたの質問に受け入れられた答えを提供しました、そしてここで私は投票し、私の言語を擁護していますか?何でも...
スコットエバーデン09

私が最初に使用した画像は、その制限よりも大きなサイズのバンドルになってしまったため、使用する前に切り取るか、最適化する必要がありました。
Kzqai、


4

コアASP.NETフレームワークになるかどうかはまだわかりませんが、cssspritesのMicrosoft codeplexプロジェクトを次に示します。

http://aspnet.codeplex.com/releases/view/50869

気に入った場合は、それを使用してください。またはアイデアと同じように、コメントを追加してください。これは、ASP.NETフレームワークに組み込むには素晴らしいことだと思います。個人的には使用していません(自分でホイールを発明しなければなりませんでした)が、良いレビューを得ています。


次のコンポーネントが含まれます。

  • スプライトとインライン画像を自動生成するAPI
  • APIを呼び出す便利な方法を提供するコントロールとヘルパー

2番目のリリースで追加された機能:

  • WebフォームのCSSリンクコントロール(ユーザーのブラウザーに適切なCSSファイルを選択しますが、画像は表示しません)
  • App_Sprites以外のカスタムフォルダーパスの使用
  • スプライト画像のタイリング方向を変更する
  • 生成されたCSSをユーザー自身のCSSとマージする

将来のリリースで検討中の機能:

  • 最も効率的なスプライトの背景色を自動的に選択する
  • レンダリングされたCSSを自動的に縮小する
  • .NET 3.5に対するコンパイル


3

直接的な回答ではありませんが、私の開発者やWebインテグレータの皆さんには、各スプライトを2の累乗に単純に揃えることを検討してください。たとえば、16ピクセルまたは32ピクセルのグリッド。CSSファイルのオフセットの計算がはるかに簡単になります。gifdとpng形式はそれを非常によく圧縮するので、間のすべての空白は問題ではありません。


良いヒントですが、私は主にテキストヘッダー(それぞれ1〜2 kb)を1つのファイルにまとめようとしています。空白が圧縮されてしまうことがわかっているので、
余計な

これに対する1つの警告-画像の空白は転送のために圧縮されますが、ブラウザがロードされると展開されてメモリを占有します。自動スプライト生成ツールを盲目的に使用すると、いくつかの巨大な画像につながり、それらのページでメモリ使用量が急増する可能性があります。これを妥当な範囲内に保つために、スプライトシートを形成するために画像をグループ化する際には、いくつかの注意が必要です。
サムフォスター

サム:そうだ!これは後で見つかりました。スプライトの画像が非常に幅広か高すぎる場合は、検討する必要があります。特に携帯電話アプリ(メモリが少ない)の場合。Simon:空白はおそらくCSSの制限によるものです。背景でリピートなしを使用する場合でも、スプライトイメージは、パディング、行の高さ、および基本的に、マージンと境界線を除くすべての要素の背景領域を通して表示されます。たとえば、リンクのアイコンがあるとします。リンクが複数の線にまたがる場合、スプライトの他のアイコンが透けて見えることがあります。十分な空白を追加すると、これがより「回復力」になります。

@Simon_Weaver -ここeveryonesのフィードバックに基づいて、私はシンプルであるスプライトツール掲載stackoverflow.com/a/13281578/1162141
technosaurus


2

Javaが好きなら、「ImageBundle」と呼ばれるものが付属しているGWT 1.5以降を使用できます。GWTコンパイラーは、すべての厄介な詳細を処理します。JavaScriptの1行をコーディングしたり、CSSを記述したりする必要もありません。


2

これは、Photoshopスクリプトを介して画像をCSSスプライトに結合するスクリプトです。あなたが要求したようにそれはスプライトマップをしませんが、それらが同じサイズであるなら、それは2の倍数(2、4、8)で画像を結合します。1つのファイルにすべての画像を含めるよりも、類似した画像(通常、ホバー、選択済み、選択済みの親)を組み合わせる方が好きです。



2

ActiveSpritesと呼ばれる新しいツールがあり、active_assets gemの一部です。

Github:http : //bitly.com/eRTwU4

ruby dslを使用してスプライトを定義し、「レイクスプライト」を実行すると、スプライトと対応するスタイルシートが生成されます。

ラドだ!

ここにいくつかのサンプルコードがあります、

# config/sprites.rb
Rails.application.sprites do
  sprite 'sprites/sprite1.png' => 'sprites/sprite1.css' do
    _'sprite_images/sprite1/1.png' => 'a.one'
    _'sprite_images/sprite1/2.png' => 'span.two'
  end
end

2

https://github.com/northpoint/SpeedySprite

このツールは、リクエストされた画像をその場でhttpサービスとして組み立てるという点で、斬新なアプローチを採用しています。これにより、プロセス全体がかなりシンプルになります(前処理は不要で、いつでも画像を変更できます)。サービスを開始して、HTMLで必要な画像を参照します。

<link href="css/my-images-dir/" rel="stylesheet">
<div class="my-image-name-here" />

動的であるため、サムネイルページなどの動的な画像セットからスプライトを作成することもできます。ただし、JPEGはサポートされていませんが、PNGおよびGIFは正常に機能します。


1

Sprite Master Webを使用することをお勧めします。スプライトシートを自動的に生成し、CSSコードをエクスポートします。それは常に高度なアルゴリズムで最小のスプライトシートを生成しようとします。

ここにスクリーンショットとYouTubeのビデオがあります

ここに画像の説明を入力してください


注目に値する、これは無料またはオープンソースのアプリではありませんが、3.99ドルとかなりの価格です。よく構築されており、PNG圧縮に優れています。
t.mikael.d

Macのみ。残念、これは有望に見えた。
Mahn

1

これらのツールはどれも私の要件を満たしていなかったため、Mark Tylersの小さな画像ライブラリmtpixel(現在はmtcelleditの一部)を使用するツールを作成しました)、回転、シャープ、量子化、ポスタライズ、反転(垂直および水平)、変換、rgb-> indexed、indexed-> rgb、エッジ検出、エンボス、ポリゴンの描画、テキストなど。

必要なのは、画像のセットをargs(png、gif、jpegをサポート)として渡し、sprite.pngと呼ばれるrgb pngと、有用な画像スライスデータをstdoutに出力することです。私はそれをbashスクリプトで使用して、イメージのディレクトリ全体を分割し、スライスデータを出力してcssを自動生成します(最終的には、既存のimgタグを少しクリエイティブなsed / awkで自動的に置き換えることができるようになることを期待しています)

puppy linuxのバイナリパッケージは次のとおりです。

http://murga-linux.com/puppy/viewtopic.php?t=82009

私のユースケースでは、画像を垂直方向に新しいpngに接合するだけでよいので、それだけですが、私のソースコードはパブリックドメインであり、mtcelleditライブラリはgpl3です。mtpixelが静的にリンクされている場合、バイナリは<100kb(動的にリンクされた場合は数kb)であり、その他の依存関係はlibpng、libjpeg、libgif(および公式のmtpixelのfreetypeのみ)ですが、テキストサポートは必要なかったため、静的ビルドのfreetypeビットをコメント化しました)

自分のニーズに合わせて自由に変更してください:

#include <stdlib.h> 
#include <stdio.h> 
#include <string.h> 
#include <mtpixel.h> 

int main( int argc, char *argv[] ){ 
int i=0,height=0,width=0,y=0; 
mtpixel_init(); 
mtImage *imglist[argc]; 
argc--; 
do{   imglist[i] = mtpixel_image_load( argv[i+1] ); 
   height+=imglist[i]->height; 
   if (imglist[i]->width > width) width=imglist[i]->width; 
} while (++i < argc); 
imglist[argc]=mtpixel_image_new_rgb(width,height); 
imglist[argc]->palette.trans=0; 
i=0; 
do{   if (imglist[i]->type == MTPIXEL_IMAGE_INDEXED) 
      mtpixel_image_paste(imglist[argc],mtpixel_image_to_rgb(imglist[i]),mtpixel_brush_new(),0 ,y); 
   else mtpixel_image_paste(imglist[argc],imglist[i],mtpixel_brush_new(),0 ,y); 
   printf("name=%s;width=%d;height=%d;y_offset=%d\n",argv[i+1],imglist[i]->height,imglist[i]->width,y); 
   y+=imglist[i]->height; 
   mtpixel_image_destroy( imglist[i] ); 
}while (++i < argc); 
   mtpixel_image_save( imglist[argc], "sprite.png", MTPIXEL_FILE_TYPE_PNG, 5 ); 
mtpixel_quit(); 
return 0; 
}

0

.netを使用している場合は、http: //www.RequestReduce.comを確認してください。スプライトファイルを自動的に作成するだけでなく、すべてのCSSをマージおよび縮小するとともに、HttpModuleを介して動的に作成します。また、量子化と可逆圧縮を使用してスプライト画像を最適化し、ETagsとExpiresヘッダーを使用して生成されたファイルの提供を処理して、最適なブラウザーキャッシュを確保します。セットアップは、単純なweb.configの変更を含む単純なものです。Microsoft Visual StudioおよびMSDNサンプルギャラリーでの採用については、私のブログ投稿を参照してください。


0

私は最近このツールを見つけました:SpriteRight http://spriterightapp.com/

SpriteRightは、Mac用のCSSスプライトシートジェネレーターで、既存の画像やスタイルシートをインポートできます。サイトの読み込みを高速化し、帯域幅のコストを削減して時間を節約します。SpriteRightは、オンザフライでCSSコードを生成します。


注目に値する、これは無料またはオープンソースのアプリではありませんが、4.99ドルとかなりの価格です。よく構築されており、優れたPNG圧縮を行います。上記の「スプライトマスターWeb」よりも多くの機能があります。
t.mikael.d

そして、それは同様にマックだけです。
Mahn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.