[問題] getGraphics() 和 createGraphics() 差異
會有這個疑問是因為我要對某張 BufferedImage 做塗色
a) 我可以用 image.createGraphics 取得一個 Graphics2D 來作畫
b) 或是用 image.getGraphics 再強制轉成 Graphics2D 來作畫
ps. getGraphics 回傳的不是 Graphics2D 是因為沒有 draw() 這個 method
a, b畫出來的效果其實一樣的, 但我不太懂這兩者實際運作上的差異
因為感覺 a 比較偏向 new 一個 Graphics2D 出來(?)
會不會比較容易有延遲的問題? 在執行效率上是否比 b 來得差?
ex: 使用許多 Line2D 來做出鉛筆效果, 而使用兩種不同code方式
//第一種
Graphics2D g2d = image.createGraphics();
g2d.draw( XXXXXXXXXX );
//或是第二種
image.createGraphics().draw( XXXXXXXXXXX );
=================================================
如果第二種code改成 b 的getGraphics, 效率是否會比較好?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.230.87
→
05/20 10:45, , 1F
05/20 10:45, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):