江门制作网站公司,怎么做网站下单,中元建设集团网站,上海网站设计与开发公司我们在java开发时#xff0c;使用Thumbnails工具类能帮助我们对图片进行很好的处理#xff0c;Thumbnails对图片的操作进行了很好的封装#xff0c;往往很复杂的步骤能用一行代码就完成。 Thumbnails支持#xff1a; 指定大小进行缩放按照比例进行缩放不按照比例#xff… 我们在java开发时使用Thumbnails工具类能帮助我们对图片进行很好的处理Thumbnails对图片的操作进行了很好的封装往往很复杂的步骤能用一行代码就完成。 Thumbnails支持 指定大小进行缩放按照比例进行缩放不按照比例指定大小进行缩放旋转水印裁剪转化图像格式输出到OutputStream输出到BufferedImage
使用步骤
导入架包
dependencygroupIdnet.coobird/groupIdartifactIdthumbnailator/artifactIdversion0.4.8/version/dependency
2.具体使用方法
/*** 指定大小进行缩放* * throws IOException*/private void test1() throws IOException {/** size(width,height) 若图片横比200小高比300小不变* 若图片横比200小高比300大高缩小到300图片比例不变 若图片横比200大高比300小横缩小到200图片比例不变* 若图片横比200大高比300大图片按比例缩小横为200或高为300*/Thumbnails.of(images/test.jpg).size(200, 300).toFile(C:/image_200x300.jpg);Thumbnails.of(images/test.jpg).size(2560, 2048).toFile(C:/image_2560x2048.jpg);}/*** 按照比例进行缩放* * throws IOException*/private void test2() throws IOException {/*** scale(比例)*/Thumbnails.of(images/test.jpg).scale(0.25f).toFile(C:/image_25%.jpg);Thumbnails.of(images/test.jpg).scale(1.10f).toFile(C:/image_110%.jpg);}/*** 不按照比例指定大小进行缩放* * throws IOException*/private void test3() throws IOException {/*** keepAspectRatio(false) 默认是按照比例缩放的*/Thumbnails.of(images/test.jpg).size(120, 120).keepAspectRatio(false).toFile(C:/image_120x120.jpg);}/*** 旋转* * throws IOException*/private void test4() throws IOException {/*** rotate(角度),正数顺时针 负数逆时针*/Thumbnails.of(images/test.jpg).size(1280, 1024).rotate(90).toFile(C:/image90.jpg);Thumbnails.of(images/test.jpg).size(1280, 1024).rotate(-90).toFile(C:/iamge-90.jpg);}/*** 水印* * throws IOException*/private void test5() throws IOException {/*** watermark(位置水印图透明度)*/Thumbnails.of(images/test.jpg).size(1280, 1024).watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File(images/watermark.png)), 0.5f).outputQuality(0.8f).toFile(C:/image_watermark_bottom_right.jpg);Thumbnails.of(images/test.jpg).size(1280, 1024).watermark(Positions.CENTER, ImageIO.read(new File(images/watermark.png)), 0.5f).outputQuality(0.8f).toFile(C:/image_watermark_center.jpg);}/*** 裁剪* * throws IOException*/private void test6() throws IOException {/*** 图片中心400*400的区域*/Thumbnails.of(images/test.jpg).sourceRegion(Positions.CENTER, 400, 400).size(200, 200).keepAspectRatio(false).toFile(C:/image_region_center.jpg);/*** 图片右下400*400的区域*/Thumbnails.of(images/test.jpg).sourceRegion(Positions.BOTTOM_RIGHT, 400, 400).size(200, 200).keepAspectRatio(false).toFile(C:/image_region_bootom_right.jpg);/*** 指定坐标*/Thumbnails.of(images/test.jpg).sourceRegion(600, 500, 400, 400).size(200, 200).keepAspectRatio(false).toFile(C:/image_region_coord.jpg);}/*** 转化图像格式* * throws IOException*/private void test7() throws IOException {/*** outputFormat(图像格式)*/Thumbnails.of(images/test.jpg).size(1280, 1024).outputFormat(png).toFile(C:/image_1280x1024.png);Thumbnails.of(images/test.jpg).size(1280, 1024).outputFormat(gif).toFile(C:/image_1280x1024.gif);}/*** 输出到OutputStream* * throws IOException*/private void test8() throws IOException {/*** toOutputStream(流对象)*/OutputStream os new FileOutputStream(C:/image_1280x1024_OutputStream.png);Thumbnails.of(images/test.jpg).size(1280, 1024).toOutputStream(os);}/*** 输出到BufferedImage* * throws IOException*/private void test9() throws IOException {/*** asBufferedImage() 返回BufferedImage*/BufferedImage thumbnail Thumbnails.of(images/test.jpg).size(1280, 1024).asBufferedImage();ImageIO.write(thumbnail, jpg, new File(C:/image_1280x1024_BufferedImage.jpg));}