当前位置: 首页 > news >正文

西安企业网站开发哪家好网站建设帮助中心

西安企业网站开发哪家好,网站建设帮助中心,承接网站开发 app开发,深圳网站的设计公司我们在java开发时#xff0c;使用Thumbnails工具类能帮助我们对图片进行很好的处理#xff0c;Thumbnails对图片的操作进行了很好的封装#xff0c;往往很复杂的步骤能用一行代码就完成。 Thumbnails支持#xff1a; 指定大小进行缩放 按照比例进行缩放 不按照比例#…我们在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));}压缩图片至指定大小 一开始没有思路在网上搜,发现google有个插件叫Thumbnails,然后看到了这篇文章: https://blog.csdn.net/u010355502/article/details/77197616 思路很简单,按一定的比例压缩图片,如果压缩完大小达不到要求,就把压缩后的结果继续压缩,直到符合要求为止 本文可以说是对原文作者代码的改进,去除了一些多余的IO过程,把递归改成了循环,并且把文件操作改为了流和字节数组的操作(也是更符合公司的业务代码一些) 在此感谢原文作者   import net.coobird.thumbnailator.Thumbnails; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream;/*** 图片压缩Utils** author worstEzreal* version V1.1.0* date 2018/3/12*/ public class PicUtils {private static Logger logger LoggerFactory.getLogger(PicUtils.class);// public static void main(String[] args) throws IOException { // byte[] bytes FileUtils.readFileToByteArray(new File(D:\\1.jpg)); // long l System.currentTimeMillis(); // bytes PicUtils.compressPicForScale(bytes, 300, x);// 图片小于300kb // System.out.println(System.currentTimeMillis() - l); // FileUtils.writeByteArrayToFile(new File(D:\\dd1.jpg), bytes); // }/*** 根据指定大小压缩图片** param imageBytes 源图片字节数组* param desFileSize 指定图片大小单位kb* param imageId 影像编号* return 压缩质量后的图片字节数组*/public static byte[] compressPicForScale(byte[] imageBytes, long desFileSize, String imageId) {if (imageBytes null || imageBytes.length 0 || imageBytes.length desFileSize * 1024) {return imageBytes;}long srcSize imageBytes.length;double accuracy getAccuracy(srcSize / 1024);try {while (imageBytes.length desFileSize * 1024) {ByteArrayInputStream inputStream new ByteArrayInputStream(imageBytes);ByteArrayOutputStream outputStream new ByteArrayOutputStream(imageBytes.length);Thumbnails.of(inputStream).scale(accuracy).outputQuality(accuracy).toOutputStream(outputStream);imageBytes outputStream.toByteArray();}logger.info(【图片压缩】imageId{} | 图片原大小{}kb | 压缩后大小{}kb,imageId, srcSize / 1024, imageBytes.length / 1024);} catch (Exception e) {logger.error(【图片压缩】msg图片压缩失败!, e);}return imageBytes;}/*** 自动调节精度(经验数值)** param size 源图片大小* return 图片压缩质量比*/private static double getAccuracy(long size) {double accuracy;if (size 900) {accuracy 0.85;} else if (size 2047) {accuracy 0.6;} else if (size 3275) {accuracy 0.44;} else {accuracy 0.4;}return accuracy;}}
http://www.zqtcl.cn/news/919281/

相关文章:

  • 网站是生成静态好还是动态好怎么找到域名做的那个网站
  • 婚纱网站页面设计上海商地网站建设公司
  • 模板手机网站建设多少钱百度搜索词排名
  • 怎么学做网站住房和城乡建设部网站一级建造师
  • 政务公开网惠州seo推广公司
  • 建设英文商城网站网站开发工具选择
  • 沈阳市浑南区城乡建设局网站淄博哪里有网站建设平台
  • 做不锈钢管网站口碑好的定制网站建设提供商
  • 做网站推广销售wordpress 随机页面
  • 陈坤做直播在哪个网站如何在建设银行网站预约纪念币
  • 如何做网站么新网站一天做多少外链
  • 用家用路由器ip做网站营销策略方案
  • 学历教育网站建设网页前端是什么
  • 相同网站名网站县区分站点建设
  • 医疗器械网站建设方案南京网站制作系统
  • 小网站托管费用企查宝企业查询
  • 专门做特卖的网站是什么外国炫酷网站网址
  • 学习网站的建设wordpress批量拿shell
  • 中企动力做的网站推软件
  • 北京财优化沧州seo公司
  • 收到网站代码后怎么做啥是东莞网站优化推广
  • 重庆商城网站开发网站建设中英版
  • 免费企业网站开发给酒吧做网站
  • 想用自己电脑做服务器做个网站吗网站制作工作室哪家比较好
  • 这样建立网站vs2008做网站
  • 做网站创业故事好看大方的企业网站源码.net
  • 做家常菜哪个网站最好香蜜湖附近网站建设
  • 网站index.php被修改seo网络推广经理招聘
  • 南京做网站联系南京乐识网站建设培训福州
  • 比较冷门的视频网站做搬运网站建设 分析