java 中文 图片_Java生成图片中文成了乱码。

这篇博客探讨了一位英文版Windows用户在使用从网上找到的图片生成代码时遇到的问题:中文显示为乱码,同时生成的图片质量模糊。作者希望找到一种无需花费太多时间的解决方法。代码示例中,作者尝试读取‘test.txt’文件的内容并将其写入图片,但遇到了编码问题和图像清晰度问题。
摘要由CSDN通过智能技术生成

这个图片生成方法是网上搜的,自己加了点东西.英文还好,中文就成了乱码,我电脑是英文版本的.想问下有没什么解决方法不用花太多时间的.另外,这个生成方法生成后图片有点模糊,想问下有没...

这个图片生成方法是网上搜的,自己加了点东西.

英文还好,中文就成了乱码,我电脑是英文版本的. 想问下有没什么解决方法不用花太多时间的.

另外,这个生成方法生成后图片有点模糊,想问下有没有其他方法?如果附上代码感激不尽.

import java.awt.*;

import java.awt.image.*;

import java.io.*;

import javax.imageio.*;

import java.awt.font.*;

import java.awt.geom.*;

public class ImgTest

{

static String line[] = new String [999];

public static void ReadFile () throws Exception

{

BufferedReader txtRead = new BufferedReader (new FileReader ("test.txt"));

int count = 0;

line [count] = txtRead.readLine ();

while (line [count] != null)

{

count++;

line [count] = txtRead.readLine ();

}

}

public static void main (String[] args) throws Exception

{

ReadFile ();

//System.out.println (line [0]);

WriteImage (line [0]);

}

public static void WriteImage (String s) throws Exception

{

File file = new File ("C:\\Documents and Settings\\Owner\\Desktop\\ImgTest.jpg");

Font font = new Font ("Serif", Font.BOLD, 10);

int width = 100;

int height = 100;

BufferedImage bi = new BufferedImage (width, height, BufferedImage.TYPE_INT_RGB);

Graphics2D g2 = (Graphics2D) bi.getGraphics ();

g2.setBackground (Color.WHITE);

g2.clearRect (0, 0, width, height);

g2.setPaint (Color.RED);

FontRenderContext context = g2.getFontRenderContext ();

Rectangle2D bounds = font.getStringBounds (s, context);

double x = (width - bounds.getWidth ()) / 2;

double y = (height - bounds.getHeight ()) / 2;

double ascent = -bounds.getY ();

double baseY = y + ascent;

g2.drawString (s, (int) x, (int) baseY);

ImageIO.write (bi, "jpg", file);

}

}

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值