17

rmagick/imagemagick を使用して画像の前景色を変更したい。具体的には、または白の glyphicons-halflingsアイコン (twitter ブートストラップに含まれている) を、濃い青色の glyphicons-halflings アイコンに変換したいと考えています。(hexcolor か RGB の色を指定できればいいのですが。)

convert --size 100x100 xc:skyblue glyphicons-halflings.png -composite foo.pngこれが可能かどうかはわかりませんが、imagemagick のドキュメントをクリックして確認したところ、サイズを指定した場合にのみ機能し、背景色ではなく前景色が変更されていることがわかりました。しかも濃紺ではなくスカイブルー。

白または黒のグリフィコンハーフリングを青のグリフィコンハーフリングアイコンに変換する方法を知っている人はいますか? (rmagick/ruby コード スニペットのボーナスポイント)

4

3 に答える 3

37

クイックアンサー:

convert glyphicons-halflings.png -alpha extract -background blue \
-alpha shape blue-glyphicons-halflings.png

blue-glyphicons-halflings.png

注: の代わりにblue、名前付きの色、RGB、RGBA などを使用できます ( http://www.imagemagick.org/script/command-line-options.php#fillを参照)。

説明:

2 段階のプロセスでアイコンを「色付け」します。

  • アイコンからアルファ チャネルを抽出します。(注: 元のアイコンの色は関係ありません。アルファ チャネルを抽出しています)
  • 選択した色付きの背景の上に上記のマスクを適用します。

詳細については、次のドキュメントを参照してください。

PS: 上記のソリューションは、jQuery ThemeRoller の書き換えhttps://github.com/jquery/download.jqueryui.com/issues/77の実装中に調査されました。

于 2013-01-14T14:28:34.703 に答える
5

http://www.imagemagick.org/Usage/color_basics/#replaceから、次のコマンドdarkblueを使用して、イメージ内のすべての色を置き換えることができます。darkblue

convert glyphicons-halflings.png -fill darkblue +opaque darkblue glyphicons-halflings.png

Ruby で実行する場合は、コマンド ラインで呼び出すだけの Minimagick gem https://github.com/minimagic/minimagickを使用することをお勧めします。convert私の経験では、すべての機能がコマンド ラインから RMagick に移植されているわけではありません。

于 2012-10-17T21:51:19.477 に答える