TNC*_*TNC 5 java swing text image
我有一个图像,我想在其上面写有多行,中心对齐和动态(可变宽度)的文本.我尝试过使用这个drawString方法Graphics,但我无法使中心和动态定位工作.我目前正在swing图书馆里闲逛JLabels等等,但我很难找到一个相对简单的方法.我也希望将最终图像写入文件,但似乎ImageIO与JPanels 混合效果不是很好..我现在只得到一个黑盒子......如果有人能提供一个简单的轮廓如何处理这个问题,我将非常感激.
谢谢!
对不起,我应该更具体..我希望文本本身是中心对齐的(因为在每行的中间应该对齐),而不是将文本放在图像的中心.文本将放置在图像上的其他位置,而不是中间.我再次为不清楚的描述道歉.谢谢!
如果你只想生成图像文件,你根本不需要摆动.
你可以这样做:
import java.awt.image.BufferedImage;
import java.awt.Graphics2D;
import java.io.File;
import javax.imageio.ImageIO;
import java.io.IOException;
BufferedImage img = ImageIO.read(new File("dog.jpg")); // try/catch IOException
int width = img.getWidth();
int height = img.getHeight();
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = bufferedImage.createGraphics();
// draw graphics
g2d.drawImage(img, 0, 0, null);
g2d.drawString(text, x, y);
g2d.dispose();
try {
// Save as PNG
File file = new File("newimage.png");
ImageIO.write(bufferedImage, "png", file);
// Save as JPEG
file = new File("newimage.jpg");
ImageIO.write(bufferedImage, "jpg", file);
} catch (IOException e) { }
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅:
http://www.exampledepot.com/egs/javax.imageio/Graphic2File.html
可以使用FontMetrics类完成文本对齐和居中.
| 归档时间: |
|
| 查看次数: |
11027 次 |
| 最近记录: |