From 068fc7f2e81178e55fa191a13709af64b1a163f6 Mon Sep 17 00:00:00 2001 From: EricsHu <hrr145632> Date: 星期一, 05 十二月 2022 14:27:43 +0800 Subject: [PATCH] 处理编码 --- src/main/java/com/qxueyou/scc/sys/utils/DrawingUtil.java | 106 ++++++++++++++++++++++++++-------------------------- 1 files changed, 53 insertions(+), 53 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/sys/utils/DrawingUtil.java b/src/main/java/com/qxueyou/scc/sys/utils/DrawingUtil.java index a6e39fb..dd21cfa 100644 --- a/src/main/java/com/qxueyou/scc/sys/utils/DrawingUtil.java +++ b/src/main/java/com/qxueyou/scc/sys/utils/DrawingUtil.java @@ -20,40 +20,40 @@ // try { // DrawingUtil.drawImage("D:\\IDEA\\spax_alibaba\\spax_alibaba_user\\src\\main\\resources\\static\\ca1.jpg", // "D:\\IDEA\\spax_alibaba\\spax_alibaba_user\\src\\main\\resources\\static\\ca.jpg","D:\\IDEA\\spax_alibaba\\spax_alibaba_user\\src\\main\\resources\\static\\1.jpg" -// ,"张三", +// ,"寮犱笁", // "123456", -// "深圳市保安员资格考试", +// "娣卞湷甯備繚瀹夊憳璧勬牸鑰冭瘯", // "123456", // "666", -// "圆融教育考试中心(深圳)", -// "圆融教育考试中心(深圳)考场16", -// "71区兴东众里创业社区3~5楼五楼502", -// "地铁5号线兴东站D出口(右转直行100米到达建设" + -// "工业园J栋兴东众里创业社区);驾车:导航" + -// "(圆融考试中心)可直达考场。无提供车位," + -// "建议公共交通出行。", +// "鍦嗚瀺鏁欒偛鑰冭瘯涓績锛堟繁鍦筹級", +// "鍦嗚瀺鏁欒偛鑰冭瘯涓績锛堟繁鍦筹級鑰冨満16", +// "71鍖哄叴涓滀紬閲屽垱涓氱ぞ鍖�3~5妤间簲妤�502", +// "鍦伴搧5鍙风嚎鍏翠笢绔橠鍑哄彛锛堝彸杞洿琛�100绫冲埌杈惧缓璁�" + +// "宸ヤ笟鍥璊鏍嬪叴涓滀紬閲屽垱涓氱ぞ鍖猴級;椹捐溅锛氬鑸�" + +// "锛堝渾铻嶈�冭瘯涓績锛夊彲鐩磋揪鑰冨満銆傛棤鎻愪緵杞︿綅锛�" + +// "寤鸿鍏叡浜ら�氬嚭琛屻��", // "2016-02-02 9:00", // "2016-02-02 9:00", -// "男"); +// "鐢�"); // } catch (Exception e) { // e.printStackTrace(); // } } /** - * @param img 图片路径 - * @param sImg 小图片 980x994 - * @param name, 姓名 - * @param card, 号码 - * @param cname, 科目 - * @param number, 证号 - * @param ID, 座位 - * @param sitename, 考站名称 - * @param ename, 考场名称 - * @param address, 考场地址 - * @param traffic, 考点交通 - * @param starttime, 开始 - * @param endtime 结束 - * @param sex 性别 + * @param img 鍥剧墖璺緞 + * @param sImg 灏忓浘鐗� 980x994 + * @param name, 濮撳悕 + * @param card, 鍙风爜 + * @param cname, 绉戠洰 + * @param number, 璇佸彿 + * @param ID, 搴т綅 + * @param sitename, 鑰冪珯鍚嶇О + * @param ename, 鑰冨満鍚嶇О + * @param address, 鑰冨満鍦板潃 + * @param traffic, 鑰冪偣浜ら�� + * @param starttime, 寮�濮� + * @param endtime 缁撴潫 + * @param sex 鎬у埆 * */ public static void drawImage(String img, String sImg, @@ -72,31 +72,31 @@ String sex, OutputStream outputStream ) throws Exception { - //读入图片到内存 + //璇诲叆鍥剧墖鍒板唴瀛� InputStream is = DrawingUtil.class.getClassLoader().getResourceAsStream(img); - //创建JPEG解码器 + //鍒涘缓JPEG瑙g爜鍣� BufferedImage bufferImg = ImageIO.read(is); // JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(is); - //获取缓冲数据流 + //鑾峰彇缂撳啿鏁版嵁娴� // BufferedImage bufferImg = jpegDecoder.decodeAsBufferedImage(); - //得到画笔对象 + //寰楀埌鐢荤瑪瀵硅薄 Graphics g = bufferImg.getGraphics(); - /*创建附加的小图片对象*/ + /*鍒涘缓闄勫姞鐨勫皬鍥剧墖瀵硅薄*/ // ClassPathResource classP = new ClassPathResource(sImg); // ImageIcon imgIcon=new ImageIcon(classP.getURL()); -// //得到Image对象 +// //寰楀埌Image瀵硅薄 // Image simg =imgIcon.getImage(); -// //将小图片绘到大图片上,位置信息:(x,y) +// //灏嗗皬鍥剧墖缁樺埌澶у浘鐗囦笂,浣嶇疆淇℃伅:(x,y) // g.drawImage(simg,1241,433,null); - //设置字体颜色 + //璁剧疆瀛椾綋棰滆壊 g.setColor(new Color(78,76,75));//78,76,75 - //字体、字体大小 - Font f = new Font("微软雅黑", Font.PLAIN, 38); + //瀛椾綋銆佸瓧浣撳ぇ灏� + Font f = new Font("寰蒋闆呴粦", Font.PLAIN, 38); g.setFont(f); - //图片上绘制字符串内容,位置信息(x,y) + //鍥剧墖涓婄粯鍒跺瓧绗︿覆鍐呭,浣嶇疆淇℃伅锛坸,y锛� g.drawString(name, 500,489); g.drawString(card, 500, 561); g.drawString(cname, 500,629); @@ -112,34 +112,34 @@ g.drawString(endtime, 500, 1405); g.drawString(sex, 1081,489); g.dispose(); -// //输出新图片 +// //杈撳嚭鏂板浘鐗� // OutputStream out = new FileOutputStream(nImg); - //解析内存中的图像数据 + //瑙f瀽鍐呭瓨涓殑鍥惧儚鏁版嵁 // JPEGImageEncoder en = JPEGCodec.createJPEGEncoder(outputStream); // en.encode(bufferImg); ImageIO.write(bufferImg, "jpeg", outputStream); - //关闭流 + //鍏抽棴娴� is.close(); // out.close(); } /** - * 根据宽度自动换行 - * @param fontSize 字体大小 - * @param beginX 开始X - * @param beginY 开始Y - * @param imgWidth 区域宽度 - * @param rowSpacing 行距 - * @param g 画笔 - * @param text 文本 + * 鏍规嵁瀹藉害鑷姩鎹㈣ + * @param fontSize 瀛椾綋澶у皬 + * @param beginX 寮�濮媂 + * @param beginY 寮�濮媃 + * @param imgWidth 鍖哄煙瀹藉害 + * @param rowSpacing 琛岃窛 + * @param g 鐢荤瑪 + * @param text 鏂囨湰 */ public static void drawText(int fontSize,int beginX,int beginY,int imgWidth,int rowSpacing,Graphics g,String text){ - //文字叠加,自动换行叠加 + //鏂囧瓧鍙犲姞,鑷姩鎹㈣鍙犲姞 int tempX = beginX ; int tempY = beginY ; - int tempCharLen = 0;//单字符长度 - int tempLineLen = 0;//单行字符总长度临时计算 + int tempCharLen = 0;//鍗曞瓧绗﹂暱搴� + int tempLineLen = 0;//鍗曡瀛楃鎬婚暱搴︿复鏃惰绠� StringBuffer sb = new StringBuffer(); int textMaxWidth = imgWidth - 10; for (int i = 0; i < text.length(); i++) { @@ -147,14 +147,14 @@ tempCharLen = g.getFontMetrics(g.getFont()).charWidth(tempChar); tempLineLen += tempCharLen; if (tempLineLen >= textMaxWidth) { - //长度已经满一行,进行文字叠加 + //闀垮害宸茬粡婊′竴琛�,杩涜鏂囧瓧鍙犲姞 g.drawString(sb.toString(), tempX, tempY); - sb.delete(0, sb.length());//清空内容,重新追加 + sb.delete(0, sb.length());//娓呯┖鍐呭,閲嶆柊杩藉姞 tempY += (fontSize + rowSpacing); tempLineLen = 0; } - sb.append(tempChar);//追加字符 + sb.append(tempChar);//杩藉姞瀛楃 } - g.drawString(sb.toString(), tempX, tempY);//最后叠加余下的文字 + g.drawString(sb.toString(), tempX, tempY);//鏈�鍚庡彔鍔犱綑涓嬬殑鏂囧瓧 } } -- Gitblit v1.8.0