From 20b11236b4364034f52df294b9240776f539ede1 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期二, 16 七月 2024 14:49:01 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/zbomyoujia --- server/service/src/main/java/com/doumee/core/utils/GeneratePicUtil.java | 90 +++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 83 insertions(+), 7 deletions(-) diff --git a/server/service/src/main/java/com/doumee/core/utils/GeneratePicUtil.java b/server/service/src/main/java/com/doumee/core/utils/GeneratePicUtil.java index 8a443f0..c467fde 100644 --- a/server/service/src/main/java/com/doumee/core/utils/GeneratePicUtil.java +++ b/server/service/src/main/java/com/doumee/core/utils/GeneratePicUtil.java @@ -4,6 +4,7 @@ import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.lang3.StringUtils; import org.springframework.http.MediaType; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.commons.CommonsMultipartFile; @@ -43,8 +44,8 @@ System.out.println("缁撴潫锛�" + (System.currentTimeMillis() - starttime) / 1000); } - private static final int width = 898; - private static final int height = 1308; + private static final int width = 750; + private static final int height = 1140; /** * 鐢熸垚鍒嗕韩鍥剧墖 @@ -133,9 +134,7 @@ g2.drawRect(0, 0, width - 1, height - 1); InputStream inputStream = bufferedImageToInputStream(bi); return inputStream; -// String fileName = "8701EAC36DEC405A94C530F0E6796589.jpg"; //ID.nextGUID() + ".jpg"; -// GeneratePicUtil.saveFile(inputStream, filePath+ File.separator+fileName); -// return filePath + File.separator+ fileName; + } public static MultipartFile getMultipartFile(InputStream inputStream, String fileName) { @@ -197,7 +196,7 @@ } } - public static InputStream bufferedImageToInputStream(BufferedImage backgroundImage) throws IOException { + public static InputStream bufferedImageToInputStream(BufferedImage backgroundImage) { return bufferedImageToInputStream(backgroundImage, "jpg"); } @@ -209,7 +208,7 @@ * @return * @throws IOException */ - public static InputStream bufferedImageToInputStream(BufferedImage backgroundImage, String format) throws IOException { + public static InputStream bufferedImageToInputStream(BufferedImage backgroundImage, String format) { ByteArrayOutputStream bs = new ByteArrayOutputStream(); try ( ImageOutputStream @@ -217,6 +216,8 @@ ImageIO.write(backgroundImage, format, imOut); InputStream is = new ByteArrayInputStream(bs.toByteArray()); return is; + }catch (Exception e){ + return null; } } @@ -267,8 +268,83 @@ } return resMatrix; } + public static InputStream generateUserCardImg(String imgurl, String qrcode, String name,String type, String phone, String shopaddr, String shopname,String phoneIcon,String addrIcon) { + BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + //寰楀埌瀹冪殑缁樺埗鐜(杩欏紶鍥剧墖鐨勭瑪) + Graphics2D g2 = (Graphics2D) bi.getGraphics(); + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); + g2.fillRect(0, 0, width, height); + //鑳屾櫙鍥剧墖 + BufferedImage img1 =getImgIO(imgurl); + if(img1!=null){ + g2.drawImage(img1, 0, 0, 750, 700, null); + }else{ + g2.setColor(new Color(102, 102, 102, 1)); + g2.drawRect( 0, 0, 750, 700); + } + //鍟嗗搧鍚嶇О + if(name.length()>5){ + name = name.substring(0,5)+"..."; + } + g2.setColor(Color.black); + g2.setFont(new Font("榛戜綋", Font.PLAIN, 40)); + g2.drawString(name, 40, 990-242); + int w = 40+ name.length()*40; + g2.setColor(Color.GRAY); + g2.setFont(new Font("榛戜綋", Font.PLAIN, 30)); + g2.drawString(type, w, 990-242); + if(StringUtils.isNotBlank(qrcode)){ + //涓汉浜岀淮鐮� + BufferedImage img2 = getImgIO(qrcode); + if(img2!=null){ + g2.drawImage(img2, 522, 982-242, 188, 188, null); + } + g2.setColor(Color.GRAY); + g2.setFont(new Font("榛戜綋", Font.PLAIN, 24)); + g2.drawString("鎵爜娣诲姞濂藉弸", 544, 1186-242); + } + //鎵嬫満鍙� + BufferedImage img4 = getImgIO(phoneIcon); + if(img4!=null){ + g2.drawImage(img4, 40, 1072-28-242, 34, 36, null); + } + g2.setColor(Color.GRAY); + g2.setFont(new Font("榛戜綋", Font.PLAIN, 30)); + g2.drawString(phone, 94, 1072-242); + + BufferedImage img3 = getImgIO(addrIcon); + if(img3!=null){ + g2.drawImage(img3, 40, 1142-28-242, 34, 36, null); + } + if(shopaddr.length()>12){ + shopaddr = shopaddr.substring(0,12)+"\n"+shopaddr.substring(12); + } + //鍦板潃 + g2.setColor(Color.GRAY); + g2.setFont(new Font("榛戜綋", Font.PLAIN, 30)); + g2.drawString(shopaddr, 94, 1142-242); + + //搴曢儴 + if(shopname.length()>15){ + shopname = shopname.substring(0,15)+"..."; + } + g2.setColor(Color.GRAY); + g2.setFont(new Font("榛戜綋", Font.PLAIN, 30)); + g2.drawString(shopname, 180, 1300-242); + + InputStream inputStream = bufferedImageToInputStream(bi); + return inputStream; + } + + private static BufferedImage getImgIO(String imgurl) { + try { + return ImageIO.read(new URL(imgurl)); + }catch (Exception e){ + + }return null; + } } -- Gitblit v1.9.3