获取图片dpi
发表于|更新于
|浏览量:
在只能说谎与沉默两者来选择的时候,沉默也是好的。——何其芳
可以通过下面的代码获取:
1 | ImageInfo imageInfo = Imaging.getImageInfo(file); |
对应的依赖:
1 | <dependency> |
用的是apache-commons的commons-imaging这个库
https://commons.apache.org/proper/commons-imaging/index.html
相关推荐
2024-08-24
jdk未来特性可空运算符
人一辈子都在高潮——低潮中浮沉,唯有庸碌的人,生活才如死水一般。——傅雷 主要PR: 8338874: [lw5] add nullable types by vicente-romero-oracle · Pull Request #1219 · openjdk/valhalla · GitHub 对应的提交之一如下: https://github.com/openjdk/valhalla/commit/dbf4f49a57e30e0daa14541adc6a66ea51860182 大概如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151...
2021-07-10
mybatis-plus防止全表更新与删除
宁要好梨一个,不要烂梨一筐。积极肯干和忠心耿耿的人即使只有两三个,也比十个朝气沉沉的人强。——列宁 我们可以如下配置 12345678910111213@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL); // 阻止全表更新与删除 BlockAttackInnerInterceptor blockAttackInnerInterceptor = new BlockAttackInnerInterceptor(); // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false paginatio...
2021-01-16
spire.doc渲染pdf时富文本处理
不以一眚掩大德。——《左传》 使用spire.doc渲染富文本的话,可以使用Paragraph中的appendHTML()函数去渲染富文本,例如下面 1234567891011121314151617181920212223242526272829package com.ruben;import com.spire.doc.Document;import com.spire.doc.FileFormat;import com.spire.doc.documents.Paragraph;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;import java.util.Locale;/** * @ClassName: WordDemo * @Description: 我还没有写描述 * @Date: 2021/1/15 0015 20:31 * * * @author: <achao1441470436@gmail.com> * @version: 1.0 * @sinc...
2024-03-20
macos升级14.4后idea运行java程序崩溃
不去读书就没有真正的教养,同时也不可能有什么鉴别力。——赫尔芩 对应网址 https://bugs.java.com/bugdatabase/view_bug?bug_id=8327860 加点jvm参数试试能不能解决 开下日志 1-XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=jvm.log 禁用JIT编译器 1-Djava.compiler=NONE 换个GC器试试 1-XX:+UseG1GC
2021-02-04
toMap(二)
一切的美德都包含在自我信赖里。——爱默森 今天继续聊聊Stream中Jdk8已经为我们封装好的这个Collectors.toMap 前两天写的List to Map工具类是为了解决key重复问题 实际上我们可以用Collectors.toMap的重载直接解决,例如 12List<User> userList = new ArrayList<>(10); Map<Integer, User> userMap = userList.stream().collect(Collectors.toMap(User::getId, Function.identity(), (user1, user2) -> user2)); 我们在toMap的第三个参数给定,这里我们直接返回user2,意思是如果遇到重复的key[例如这里的userId重复],我们使用第二个user,也就是后者去覆盖前者 除了这点,我们还可以看到一个包含四个参数的重载 这里第四个参数是用于返回指定的map使用的 例如我们需要返回一个LinkedHashMap 就...
2020-11-29
@Transactional
事者,生于虑,成于务,失于傲。——管仲 如果想让该类或方法被事务支持,则可以加上@Transactional注解@Transactional有几个参数:value/transactionManager——是用来指定事务管理器,这个不太常用timeout——事务超时时间,为传播特性为PROPAGATION_REQUIRES_NEW和PROPAGATION_REQUIRED定制,创建新事务时旧事务的超时时间,出场率也不是特别高下面的则是常用的参数readOnly——是否为只读事务,如果为true时,进行查询操作效率会更高,但不能进行除查询外的操作,会报错rollbackFor/rollbackForClassName——指定需要回滚的异常noRollbackFor/noRollbackForClassName——指定不需要回滚的异常默认对编译异常不会滚 对非受检异常回滚,例如RuntimeException就会回滚事务 isolation——配置隔离级别事务丢失 回滚丢失——另一个事务回滚导致当前事务丢失 覆盖丢失——另一个事务提交导致当前事务丢失 ...

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