gpt4 book ai didi

clojure - 在 clojure 中生成并保存 .png 图像

转载 作者:行者123 更新时间:2023-12-04 23:07:50 26 4
gpt4 key购买 nike

如何生成一个简单的 BufferedImage 并将其保存为 Clojure 中的 png 文件?

最佳答案

我已经对这种方式做了一些事情,简而言之:

(def bi (BufferedImage. 16 16 BufferedImage/TYPE_INT_ARGB))
(def g (.createGraphics bi))
;; use g
(.drawLine g 0 0 10 10)
(.drawLine g 0 15 15 0)
;; save:
(ImageIO/write bi "png" (File. "test.png"))
BufferedImage服务于 Graphics2D上下文 g我们使用 ImageIO做保存。

我的一个项目的例子:
(ns minemap.graphics
(require minemap.core)
(import java.io.File)
(import java.awt.Color)
(import java.awt.image.BufferedImage)
(import javax.imageio.ImageIO))

(defn draw-png
"Take width, height, and the map of mines. Save to a file.
Supposed to take a generate-random-map{,-perc} mapping."
[width height minemap file]
(let [block 5 ;block size
bi (BufferedImage. (* block width) (* block height) BufferedImage/TYPE_INT_ARGB)
g (.createGraphics bi)]
(do
(.setColor g (*colors* :background))
(.fillRect g 0 0 (* block width) (* block height))
(doseq [[[x y] high] minemap]
(.setColor g (*colors* high))
(.fillRect g (* block x) (* block y) block block))
(ImageIO/write bi "png" (File. file)))))

关于clojure - 在 clojure 中生成并保存 .png 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6973290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com