生成图片

1 篇文章 0 订阅

生成图片

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='#'"  

         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、付费专栏及课程。

余额充值