public static final String TYPE_JPG = "jpg"; public static final String TYPE_GIF = "gif"; public static final String TYPE_PNG = "png"; public static final String TYPE_BMP = "bmp"; public static final String TYPE_UNK…
/** * 图片判断 */ private static String getFormatName(Object o) { try { // Create an image input stream on the image ImageInputStream iis = ImageIO.createImageInputStream(o); // Find all image readers that recognize the image format Iterator<ImageReader>…
最近项目中需要判断上传的图片必须是png,jpg,gif三种格式的图片,并且当图片的宽度大于600px时,压缩图片至600px,并且等比例的压缩图片的高度. 具体的实现形式: 大致的思路是: 判断根据文件名判断图片的格式是否是png,jpg,gif三种图片文件   定义了 isImageFile 方法 如果是的,则进入到scaleImage(String imgSrc, String imgDist)方法中判断图片大小,如果图片大小合适,则直接利用copyFile(File fromFile,…
动态加载(Dynamic Loading)是指在程序运行时加载需要的类库文件,对Java程序来说,一般情况下,一个类文件在启动时或首次初始化时会被加载到内存中,而反射则可以在运行时再决定是否需要加载一个类,比如从Web上接受一个String参数作为类名,然后在JVM中加载并初始化,这就是动态加载,此动态加载通常是通过Class.forName(String)实现的,只是这个forName()方法到底是什么意思? 我们知道一个类文件只有在被加载到内存中后才可能生成实例对象,也就是说一个对象的生成必…
java图片处理有点头疼,找了很多资料.在这里进行一个汇总,记录下个人的体验,也希望对大家有所帮助. 需求:浏览的图片需要在1M一下. 1.真正对图片的质量进行压缩的(不是通过修改图片的高,宽进行缩小图片.就单单缩小图片质量) 优点:不修改图片大小,简便. 缺点:对jpg格式能处理很好,对于gif,png其他格式不适合. compressPic(图片路径,处理格式); /** * * 修改图片大小 * <p>描述</p> * @date 2014-7-10 下午4:27:51 *…
本文介绍的例子在Android安卓手机上测试通过. 先看看效果吧.可以看到这个开发好的安卓应用有三个按钮:Zoom In缩小图片,Zoom Out放大图片和Save保存. 初始页面: 可以在左边边框自由移动图片,图片下面的调试界面debug screen会显示详细的图片矩阵matrix信息: 点击Save button后,根据左边图片的最新状态,会创建一个镜像文件Snapshot并显示在右边的ImageView控件里: 点击Zoom in按钮可以使图片缩小: 点击Zoom out使图片放大: 这…
效果 倒影率为90%时的效果: 倒影率10%时的效果: 实现原理 倒影率作为参数rate 传入Reflection button的事件处理函数: CreateImageWithReflection这个Java方法会根据传入的倒影率参数rate,创建一个对应高度的reflectionImage用于显示倒影,最后返回的Bitmap是包含了原始图片文件original image和倒影效果的一张联合图片union image: 这个项目文件的完整路径: https://github.com/i0424…
JDK9已经出来有一段时间了,因此很多流行的Java应用纷纷增添了对JDK9乃至JDK10的支持,比如Tomcat. 我们通过这个链接下载最新的Tomcat源文件包,总共7MB: https://tomcat.apache.org/download-90.cgi 解压之后,在文件夹apache-tomcat-9.0.10-srcjavaorgapachecatalinacore里找到文件JreMemoryLeakPreventionListener.java: 可以看到大量调用工具类JreCom…
1.两点需要注意 1.string.spilt("\\.")分割字符串成子字符串数组,以“.”分割,必须写成string.spilt("\\.")的方式,不能写成string.spilt(".").斜线必须是反斜线且. 2.获取分割后的字符串数组,要获得最后一个item的index ,方式是int suffixIndex = strArray.length -1; public String getFileType(String fileName…
1.File类 File类在java.io.File包中,所以要导入这个包. File类中用到的方法: boolean isDirectory()       测试此抽象路径名表示的文件是否是个目录 File[] listFiles()           返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件 File类中用到的常量: public static final String separator    与系统有关的默认名称分隔符,这个字符串只表示一个字符:separa…