はじめに
CircleCIのアイコンをPlantUMLで使用したかったのですが、こちらには無かったので生成しました。
その時の備忘録です。
画像の準備
埋め込みたい画像を用意してください。
注意点として、ファイルサイズが大きい画像だとエンコードは出来ても、デコード時に失敗します。
どのくらいが限界なのか分からないのですが、今回は48x48 pxの画像を用意しました。
また、透明箇所は黒として処理されるようなので、背景が白の画像を用意してください。
グレースケールにエンコード
次に画像をグレースケールにエンコードする必要があります。
ターミナルで下記のコマンドを実行します。
$ java -jar plantuml.jar -encodesprite 16z circleci.png
sprite $circleci [48x48/16z] {
bLPLWiKm20nnPUz_shLN2zHclYgu6mdoiRG_bEIjUG25qdd7gF6EXL9dYL7S5NbSg0L6fZDgL_aAFMZoCFW6MTd2zoYpJOaPOGZyZ79mTV0Bf2tidTzW-8K-
gp-jv5ALb4QdrjJm-KukYp_H_A7CGhpPOUT_dPJuGdTvYS9wcKSPwYQ2KoMrJAKp_XYNqs9lnnmS3VpQCk9ppO7Mbya0Ycb5N2YeVgBXj88Xmh6GBp-TZf7J
z56wxtX7kFDlyT-EOmOawF3Noth4wL5xK7_HUABvkgY7Sb4FQBsXzGps2zgFQB-3ymITL-0y1ESjEC_HVG7k8t3VuViKtzVuFO3V6-WzymC
}
実行結果を.puファイルにコピペします。
sample.pu
@startuml
sprite $circleci [48x48/16z] {
bLPLWiKm20nnPUz_shLN2zHclYgu6mdoiRG_bEIjUG25qdd7gF6EXL9dYL7S5NbSg0L6fZDgL_aAFMZoCFW6MTd2zoYpJOaPOGZyZ79mTV0Bf2tidTzW-8K-
gp-jv5ALb4QdrjJm-KukYp_H_A7CGhpPOUT_dPJuGdTvYS9wcKSPwYQ2KoMrJAKp_XYNqs9lnnmS3VpQCk9ppO7Mbya0Ycb5N2YeVgBXj88Xmh6GBp-TZf7J
z56wxtX7kFDlyT-EOmOawF3Noth4wL5xK7_HUABvkgY7Sb4FQBsXzGps2zgFQB-3ymITL-0y1ESjEC_HVG7k8t3VuViKtzVuFO3V6-WzymC
}
rectangle Sample [
<$circleci>
]
@enduml
問題無くプレビューにCircleCIのアイコンが表示されました。