add color alpha converter
parent
13c54e54ae
commit
b141bdadc3
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/env bb
|
||||
|
||||
(require '[clojure.tools.cli :refer [parse-opts]])
|
||||
(use '[clojure.string])
|
||||
(require '[clojure.math :refer [round]])
|
||||
|
||||
(def cli-options
|
||||
[["-i" "--inverse" "Inverses the conversion so the value is converted to a percentage from a given hex number."
|
||||
:id :inverse
|
||||
:default false]])
|
||||
|
||||
(def step-size 2.55M)
|
||||
(def parsed-params (parse-opts *command-line-args* cli-options))
|
||||
(def options (:options parsed-params))
|
||||
(def value (first (:arguments parsed-params)))
|
||||
|
||||
(defn pad-with-zero
|
||||
[length string]
|
||||
(as-> string $
|
||||
(count $)
|
||||
(- length $)
|
||||
(take $ (repeat "0"))
|
||||
(concat $ string)
|
||||
(join $)))
|
||||
|
||||
(defn to-hex
|
||||
[value]
|
||||
(->> value
|
||||
(Integer/parseInt)
|
||||
(* step-size)
|
||||
(round)
|
||||
(int)
|
||||
(format "%x")
|
||||
(pad-with-zero 2)))
|
||||
|
||||
(defn from-hex
|
||||
[value]
|
||||
(as-> value $
|
||||
(Integer/parseInt $ 16)
|
||||
(with-precision 2(/ $ step-size))
|
||||
(round $)
|
||||
(int $)
|
||||
(str $)))
|
||||
|
||||
(if (:inverse options)
|
||||
(print (from-hex value))
|
||||
(print (to-hex value)))
|
|
@ -0,0 +1,11 @@
|
|||
# Color Alpha Converter
|
||||
Converts the given alpha in percent to a hex value usable by Android.
|
||||
You can use the `-i` flag to inverse the conversion and get the alpha percentage for a hex value.
|
||||
|
||||
## Example Usage
|
||||
```bash
|
||||
./cac.clj 50
|
||||
./cac.clj 80
|
||||
./cac.clj -i ff
|
||||
./cac.clj -i bf
|
||||
```
|
Loading…
Reference in New Issue