首页
友链
关于
免责声明
Search
1
王者营地战绩数据王者荣耀查询网页源码
6,209 阅读
2
群晖Active Backup for Business套件备份Linux服务器教程
4,384 阅读
3
影视分享
4,313 阅读
4
(亲测)Jrebel激活破解方式2019-08-21
4,289 阅读
5
centos7 安装及卸载 jekenis
3,573 阅读
日常
文章
后端
前端
Linux
异常
Flutter
分享
群辉
登录
Search
标签搜索
docker
springboot
Spring Boot
java
linux
Shiro
Graphics2D
图片
游戏账号交易
Mybatis
Spring Cloud
centos
脚本
Web Station
群辉
王者营地
战绩查询
平台对接
Spring Cloud Alibaba
nacos
绿林寻猫
累计撰写
249
篇文章
累计收到
26
条评论
首页
栏目
日常
文章
后端
前端
Linux
异常
Flutter
分享
群辉
页面
友链
关于
免责声明
搜索到
3
篇与
图片
的结果
2022-03-11
JAVA压缩图片质量大小,8M压缩到200K
以下方法避免了再linux上运行是提示java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/JPEGCodec异常 /** * 缩放图片(压缩图片质量,改变图片尺寸) * 若原图宽度小于新宽度,则宽度不变! * * @param newWidth 新的宽度 * @param quality 图片质量参数 0.7f 相当于70%质量 */ public static void imageResize(File originalFile, File resizedFile, int maxWidth, int maxHeight, float quality) throws IOException { if (quality > 1) { throw new IllegalArgumentException( "图片质量需设置在0.1-1范围"); } ImageIcon ii = new ImageIcon(originalFile.getCanonicalPath()); Image i = ii.getImage(); Image resizedImage = null; int iWidth = i.getWidth(null); int iHeight = i.getHeight(null); int newWidth = maxWidth; if (iWidth < maxWidth) { newWidth = iWidth; } if (iWidth >= iHeight) { resizedImage = i.getScaledInstance(newWidth, (newWidth * iHeight) / iWidth, Image.SCALE_SMOOTH); } int newHeight = maxHeight; if (iHeight < maxHeight) { newHeight = iHeight; } if (resizedImage == null && iHeight >= iWidth) { resizedImage = i.getScaledInstance((newHeight * iWidth) / iHeight, newHeight, Image.SCALE_SMOOTH); } Image temp = new ImageIcon(resizedImage).getImage(); BufferedImage bufferedImage = new BufferedImage(temp.getWidth(null), temp.getHeight(null), BufferedImage.TYPE_INT_RGB); Graphics g = bufferedImage.createGraphics(); g.setColor(Color.white); g.fillRect(0, 0, temp.getWidth(null), temp.getHeight(null)); g.drawImage(temp, 0, 0, null); g.dispose(); float softenFactor = 0.05f; float[] softenArray = {0, softenFactor, 0, softenFactor, 1 - (softenFactor * 4), softenFactor, 0, softenFactor, 0}; Kernel kernel = new Kernel(3, 3, softenArray); ConvolveOp cOp = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null); bufferedImage = cOp.filter(bufferedImage, null); FileOutputStream out = new FileOutputStream(resizedFile); //使用该方式避免linux异常 ImageIO.write(bufferedImage, "jpeg", out); // 以下方式本地执行正常,打包到服务器执行异常 // JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); // // JPEGEncodeParam param = encoder // .getDefaultJPEGEncodeParam(bufferedImage); // // param.setQuality(quality, true); // // encoder.setJPEGEncodeParam(param); // encoder.encode(bufferedImage); }
2022年03月11日
513 阅读
0 评论
0 点赞
2022-01-23
图片上传|免费图片存储服务
请求方式{card-describe title="请求方式"}POSTmultipart/form-datahttps://pic.maven.vip/api/1/upload/?key={KEY}&format=jsonsource:file{/card-describe}
2022年01月23日
147 阅读
0 评论
0 点赞
2022-01-12
Graphics2D 图片上添加图片或绘制二维码
代码实例 // 读取原图片信息 //得到文件 File file = new File("d:\\1.png"); //文件转化为图片 Image srcImg = ImageIO.read(file); //获取图片的宽 int srcImgWidth = srcImg.getWidth(null); //获取图片的高 int srcImgHeight = srcImg.getHeight(null); // 加水印 BufferedImage bufImg = new BufferedImage(srcImgWidth, srcImgHeight, BufferedImage.TYPE_INT_RGB); Graphics2D g = bufImg.createGraphics(); g.drawImage(srcImg, 0, 0, srcImgWidth, srcImgHeight, null); //使用工具类生成二维码 Image image = createQrCode("二维码内容", 226, 226, "二维码中间logo图片地址"); //将小图片绘到大图片上,表示你的小图片在大图片上的位置。 g.drawImage(image, 263, 700, null); //或者将图片绘制上去 File file = new File("d:\\2.png"); BufferedImage read = ImageIO.read(file); Graphics2D k = bufImg.createGraphics(); //将小图片绘到大图片上,表示你的小图片在大图片上的位置。 k.drawImage(read, 650, 188, 150,150,null); k.setColor(Color.WHITE); k.dispose(); //设置颜色。 g.setColor(Color.WHITE); g.dispose(); ByteArrayOutputStream bs = new ByteArrayOutputStream(); ImageOutputStream imOut = ImageIO.createImageOutputStream(bs); ImageIO.write(bufImg, "png", imOut); InputStream inputStream = new ByteArrayInputStream(bs.toByteArray()); OutputStream outStream = new FileOutputStream("d:\\3.png"); IOUtils.copy(inputStream, outStream); inputStream.close(); outStream.close(); private static BufferedImage createQrCode(String content, int width, int height, String logoPath) throws IOException { QrConfig config = new QrConfig(width, height); if (logoPath != null) { Image image = ImageIO.read(new FileInputStream(new File(logoPath))); config.setImg(image); } config.setErrorCorrection(ErrorCorrectionLevel.H); return QrCodeUtil.generate( content, config); }二维码生成工具引用 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.2.4</version> </dependency>
2022年01月12日
501 阅读
0 评论
0 点赞