用 Mac 系统取色器取色

Emacs 自带的 read-color 能预览颜色,非常酷:

刚刚发现 AppleScript 有个 choose color 命令可以调用 Mac 系统取色器取色,而 Emacs 也支持 AppleScript:

(do-applescript "choose color")
;; => "{0, 65535, 0}"

(define-advice read-color (:override (&rest _ignored) macos)
  "使用 Mac 系统取色器取色."
  (apply
   #'format
   "#%04X%04X%04X"
   (mapcar
    #'string-to-number
    ;; "{26142, 27438, 60750}"
    (split-string (substring (do-applescript "choose color") 1 -1) ", "))))

找一个没开 Font Lock 的 Buffer 试试 M-x facemenu-set-foreground 吧!

3 个赞

系统版本有要求吗?我这里 (do-applescript "choose color") 返回的是 t

  • macOS 10.12.6
  • Emacs 26.1

我用的是 Emacs Mac Port,不清楚官方的行不行

(emacs-version)
;; =>
"GNU Emacs 26.2.90 (build 3, x86_64-apple-darwin18.6.0, Carbon Version 158 AppKit 1671.5)
 of 2019-06-22"

;; macOS 版本
(do-applescript "system version of (system info)")
;; => "\"10.14.5\""

官方不支持。AppleScript 是 macport 特色

官方的 Cocoa Emacs 也支持 AppleScript,至于 (do-applescript "choose color") 正不正常就不知道了,我没有能用的 Cocoa Emacs ,所以没试过。

windows下有个软件叫photoshop,也可以取颜色,还能编辑图片,也能创建动画。

如果是矢量图的话,adobe也有个叫ai的很好用。

好像adobe公司也有专门处理音频的软件。

然而adobe系列支持mac的,不知你强调windows下干嘛

我可不想改个CSS就要打开PS取个色,还得把HEX值抄下来回到编辑器改

emacs-plus下也是能用的。不过我用counsel-colors-emacs

1 个赞