获取图片dpi
发表于|更新于
|浏览量:
在只能说谎与沉默两者来选择的时候,沉默也是好的。——何其芳
可以通过下面的代码获取:
1 | ImageInfo imageInfo = Imaging.getImageInfo(file); |
对应的依赖:
1 | <dependency> |
用的是apache-commons的commons-imaging这个库
https://commons.apache.org/proper/commons-imaging/index.html
相关推荐
2023-05-04
hutool-excel设置单元格列宽
保持沉默,别人将以为你是一位哲学家。——佚名 hutool里excel可以如下使用,设置自动列宽: 12val writer = ExcelUtil.getWriter()writer.autoSizeColumnAll() 但也可以单独设置: 1writer.getSheet().setColumnWidth(1, 5000) 这里的1是列下标,5000是宽度 还可以设置冻结首行 1writer.setFreezePane(1)
2024-03-27
stream-query开源合规
不好的书也像不好的朋友一样,可能把你戕害。——菲尔丁 首先是检查header的github action的ci 123456789101112131415161718192021222324252627282930313233343536373839404142# Licensed to the Apache Software Foundation (ASF) under one# or more contributor license agreements. See the NOTICE file# distributed with this work for additional information# regarding copyright ownership. The ASF licenses this file# to you under the Apache License, Version 2.0 (the# "License"); you may not use this file except in compliance# with...
2023-04-13
mp wrapper小技巧
别让你的舌头超越你的思想。——第欧根尼 对于mp的wrapper,直接使用nested+or是可以正确执行的 例如: 1Db.list(Wrappers.lambdaQuery(UserInfo.class).or().eq(UserInfo::getName, "Jon")); 生成 122023-04-13 22:39:54.858 DEBUG 20668 --- [ main] o.d.s.s.p.m.m.UserInfoMapper.selectList : ==> Preparing: SELECT id,name,age,email,version,gmt_deleted FROM user_info WHERE gmt_deleted='2001-01-01 00:00:00' AND (name = ?)2023-04-13 22:39:54.858 DEBUG 20668 --- [ main] o.d.s.s.p.m.m.UserInfoMapper.selectL...
2023-12-26
docker运行seata
怀疑一切与信任一切是同样的错误,能得乎其中方为正道。——乔叟 https://hub.docker.com/r/seataio/seata-server 命令: 1docker run --name seata-server -p 8091:8091 -p 7091:7091 seataio/seata-server:latest 自定义配置文件: 123456docker run --name seata-server \ -p 8091:8091 \ -p 7091:7091 \ -e SEATA_CONFIG_NAME=file:/root/seata-config/registry \ -v /PATH/TO/CONFIG_FILE:/root/seata-config \ seataio/seata-server 指定ip 12345docker run --name seata-server \ -p 8091:8091 \ -p 7091:7091 \ ...
2020-09-16
alibabaFastJson之json转指定List
有一种健忘是高贵的,就是不记旧恶。——赛蒙兹 之前写了篇fastjson基本使用,这两天遇到一个意料之外的 需要把一个json的数组对象,转换成指定的List<User> 转换方式很简单 {“code”:200,”userList”:[{“password”:”achao”,”username”:”ruben”}],”data”:”操作成功!”,”list”:[“你好”,”加油”],”success”:true} 1234JSONObject jsonObject = JSON.parseObject(jsonString);String userListString = jsonObject.getString("userList");List<User> userList = JSON.parseArray(userListString, User.class);userList.forEach(System.out::println); 打印结果
2024-08-20
调试h2数据库
生命中的全部偶然,其实都是命中注定。是为宿命。——《宿命》 在apache-shenyu中也默认用h2数据库作为默认数据库,方便开发、演示、学习、轻量化部署等 但是我们知道h2数据库是基于内存的嵌入式数据库,如何让其在运行动态执行sql呢?一般我们采用h2-console进行: h2-console | 阿超 今天我们换一种方式,直接使用客户端工具连接,默认的url肯定是连不上的: 123456spring: datasource: url: jdbc:h2:mem:${HOME:${HOMEDRIVE}${HOMEPATH}}/shenyu;DB_CLOSE_DELAY=-1;MODE=MySQL; username: sa password: sa driver-class-name: org.h2.Driver 因为这里是h2:mem:路径,即便换成file也是不允许两个连接的 我们换成tcp连接,再指定一下目录 123456spring: datasource: url: ...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog