java 圖片繪制到另一張圖片


 public static String exportImg(PiousCard piousCard,HttpServletRequest request){  
        try {  
            //1.jpg是你的 主圖片的路徑  
        	String jzz = request.getSession().getServletContext().getRealPath(File.separator) + ReadConfig.getConfigValue("jzz") + File.separator;
        	InputStream is = new FileInputStream(jzz +"jzz.jpg");  
              
              
            //通過JPEG圖象流創建JPEG數據流解碼器  
            JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(is);  
            //解碼當前JPEG數據流,返回BufferedImage對象  
            BufferedImage buffImg = jpegDecoder.decodeAsBufferedImage();  
            //得到畫筆對象  
            Graphics g = buffImg.getGraphics();  
              
            //創建你要附加的圖象。  
            //小圖片的路徑  
            String uploadDir = request.getSession().getServletContext().getRealPath(File.separator) + ReadConfig.getConfigValue("uploadRoot") 
            		+ File.separator+ ReadConfig.getConfigValue("barcode") + File.separator;
            String imgUrl = uploadDir+piousCard.getTwoCode();
            ImageIcon imgIcon = new ImageIcon(uploadDir+piousCard.getTwoCode());   
              
            //得到Image對象。  
            Image img = imgIcon.getImage();  
            
            //將小圖片繪到大圖片上。  
            //5,300 .表示你的小圖片在大圖片上的位置。  
            g.drawImage(img,105,405,null);  
              
            //設置顏色。  
            g.setColor(Color.BLACK);  
              
              
            //最后一個參數用來設置字體的大小  
            Font f = new Font("宋體",Font.PLAIN,11);  
            Color mycolor = Color.BLACK;//new Color(0, 0, 255);  
            g.setColor(mycolor);  
            g.setFont(f);  
              
            //10,20 表示這段文字在圖片上的位置(x,y) .第一個是你設置的內容。  
            g.drawString("掃描驗證真偽",100,470);
             
             
            Graphics2D tip = buffImg.createGraphics();
            tip.setColor(Color.BLACK);
            //設置字體
            Font tipFont = new Font("宋體", Font.PLAIN, 14);
            tip.setFont(tipFont);
            //內容,左右位置,上下位置
            tip.drawString(piousCard.getPersonName(), 135, 285); 
            tip.drawString(piousCard.getYear(), 160, 323); 
            tip.drawString(piousCard.getCardNum(), 553, 82); 
            SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
            Date date = new Date(); 
            tip.drawString(bartDateFormat.format(piousCard.getIssueDate()), 590, 460); 
            g.dispose();
            
            OutputStream os;  
          
//            os = new FileOutputStream("d:/union.jpg");  
            String upJzzUrl = request.getSession().getServletContext().getRealPath(File.separator) + ReadConfig.getConfigValue("uploadRoot") 
            		+ File.separator;
            String shareFileName = piousCard.getCardNum()+ ".jpg";  
            os = new FileOutputStream(upJzzUrl+shareFileName);  
             //創鍵編碼器,用於編碼內存中的圖象數據。            
            JPEGImageEncoder en = JPEGCodec.createJPEGEncoder(os);  
            en.encode(buffImg);           
              
            is.close();  
            os.close();  
            return shareFileName;
        } catch (FileNotFoundException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        } catch (ImageFormatException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        } catch (IOException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }
		return null;  
          
    } 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM