java文字生成图片

    1.应用一  
    //测试生成图片  
        public void test01(){  
             int width = 100;      
             int height = 100;      
             String s = "你好";      
               
             File file = new File("D:/image.jpg");      
               
             Font font = new Font("Serif", Font.BOLD, 10);      
            //创建一个画布  
             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(new Color(0,0,255));      
             g2.fillRect(0, 0, 100, 10);  
             g2.setPaint(new Color(253,2,0));  
             g2.fillRect(0, 10, 100, 10);  
             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);   
     
             try {  
                //将生成的图片保存为jpg格式的文件。ImageIO支持jpg、png、gif等格式  
                ImageIO.write(bi, "jpg", file);  
            } catch (IOException e) {  
                System.out.println("生成图片出错........");  
                e.printStackTrace();  
            }      
     
        }  
2.应用二:生成背景透明的图片  
首先jpg格式的图片,支持RGB,无法实现背景透明  
png与gif支持RGB和alpha属性,可以生成透明图片  
 
int width = 400;  
int height = 300;  
 
// 创建BufferedImage对象  
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);  
// 获取Graphics2D  
Graphics2D g2d = image.createGraphics();  
 
// ---------- 增加下面的代码使得背景透明 -----------------  
image = g2d.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);  
g2d.dispose();  
g2d = image.createGraphics();  
// ---------- 背景透明代码结束 -----------------  
 
 
// 画图  
g2d.setColor(new Color(255,0,0));  
g2d.setStroke(new BasicStroke(1));  
g2d.draw  
//释放对象  
g2d.dispose();  
// 保存文件   
ImageIO.write(image, "png", new File("c:/test.png"));  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值