簡體   English   中英

如何設置圖像的分辨率?

[英]How do I set an image's resolution?

我正在使用Seesaw與Swing進行交互。

我有一些圖標定義如下:

(def label :icon 
           (clojure.java.io/resource "some_image.png"))

我想以不同的分辨率渲染“some_image.png”。 如果我只是設置邊界,我將只獲得圖像的一部分。

我該如何實現這一目標?

你可以通過下降到Swing來做到這一點。 基本上,將文件操作為Swing圖像。 一旦你擁有你想要的大小,Seesaw的icon設施就可傳遞的內容而言是靈活的(參見https://daveray.github.io/seesaw/seesaw.icon-api.html ); 您可以將Swing圖像傳遞給label功能。

(defn imagetest []
  (let [w (frame :title "Image Test" :width 400 :height 400)
        img (.getScaledInstance 
              (javax.imageio.ImageIO/read 
                (io/resource "racecar.gif")) 400 400 1)
        lbl (label :icon img)
        pnl (horizontal-panel :items [lbl])]
    (config! w :content pnl)
    (show! w)))

注: 1 ,我是通過作為最終對Arg的.getScaledInstance對於SCALE_DEFAULT標志; 更多信息: https//docs.oracle.com/javase/7/docs/api/constant-values.html#java.awt.Image.SCALE_DEFAULT

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM