【发布时间】:2016-11-18 12:44:34
【问题描述】:
我遇到了一个愚蠢的问题。我想在我的照片中添加一个 alpha 0.5 的文本来制作水印,但 setColor 没有添加颜色。当我尝试使用 setComposite 时,我看到错误“找不到符号”。
buffered.getGraphics().drawImage(img, 0, 0, null);
buffered.getGraphics().setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
0.1f));
buffered.getGraphics().setColor(new Color(0.2f,0.3f,0.4f,0.5f));
buffered.getGraphics().setFont(new Font("Serif", Font.PLAIN, 32));
buffered.getGraphics().drawString("text", img.getWidth()/2, img.getHeight()/2);
buffered.getGraphics().dispose();
【问题讨论】:
-
1) 为了尽快获得更好的帮助,请发帖 minimal reproducible example 或 Short, Self Contained, Correct Example。 2) This example 展示了如何使用颜色来创建半透明文本。 (我正在考虑使用它来关闭它作为一个副本 - 尽管它主要是关于转换。)
-
“当我尝试使用
setComposite时,我看到错误“找不到符号”。” ..buffered.getGraphics()这与所述目标并不完全相关,因为没有必要使用复合来获得半透明文本。话虽如此,很容易解释。setComposite(..)是Graphics2DAPI 的一个方法,而BufferedImage.getGraphics()返回一个Graphics对象.. -
.. 要获得
Graphics2D实例,请致电createGraphics() -
由于您似乎忽略了我的建议,我将投票关闭并关闭浏览器中的此问题选项卡。祝你一切顺利!
标签: java image swing text java-2d