Atitit jsnodejs 图像处理压缩缩放算法 attilax总结

    xiaoxiao2021-03-26  27

    Atitit js  nodejs 图像处理压缩缩放算法 attilax总结

     

    1.1. 项目背景,图片体积太大。需要压缩 1

    1.2. 语言选项,使用Js  使用gm模块 1

    2. GraphicsMagick Image Processing System 1

    2.1. code 2

    2.2. 注意事项。使用im类库貌似比较麻烦,下载了几个都不是的。。不带cli接口。。Gm默认的也不带接口,要在官网下载的才带cli接口。。 3

     

     

    1.1. 项目背景,图片体积太大。需要压缩

    先看是否使用jpg压缩,图片已经是jpg压缩过了。这个思路只好放弃。

    然后看是否可以使用减小分辨率压缩法。这个是可以的,预计可以吧34M大小的图片压缩到几百kb级别。。原来的图片有大几千到几万的像素宽高度。。

     

    1.2. 语言选项,使用Js  使用gm模块

     

    Java 使用imageio或者thumbnail也可以了。。

     

    因为毕竟一个简单的缩放功能,所以使用大型库有点麻烦,就选择小型类库gm。。

     

     

    下载gm

    http://www.graphicsmagick.org/

    2. GraphicsMagick Image Processing System

    Current Release

    1.3.25 (Released September 5, 2016) download release

     

     

    GraphicsMagick-1.3.25-Q16-win32-dll.exe   4m

    Then  Instatll then  ok

     

     

    2.1. code

    /**  * Created by Administrator on 2017/1/29.  */ //node_path=C:\Users\Administrator\node_modules;C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm //mod   C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm   function  processOnePicV2(f,hit,wid) {     var gm22 = require('mysql')     var gm = require('gm')         ,  fs = require('fs')        // ,    imageMagick = gm.subClass({ imageMagick : true });     var path = require('path');     var filM = require("./com.attilax/io/fileUtil.js");     var pM = require("./com.attilax/io/path.js");     var outFull=pM.addSuffix(f,"_mini");     gm(f)         .resize(150, 150, '!') //加('!')强行把图片缩放成对应尺寸150*150!         .autoOrient()         .write(outFull, function(err){             if (err) {                 console.log(err);             }         }); } function main(){ var pm=require("path");     var tim_mod = require("./com.attilax/time/time.js");     var filM = require("./com.attilax/io/fileUtil.js");     var dir="D:\\0pictest";     var fls=filM.getFileListV2(dir);     for(idx in fls)     {         /**          * { path: 'c:\\00orgSave',   filename: 'index_P57_1484408092882.html' }          */         var f=fls[idx];         var f_str= f.path+pm.sep+ f.filename;        // var data=fs.readFileSync(f_str,"utf-8");         processOnePicV2(f_str);         console.log(f_str);     } } main();

     

    注意gm模块调用的是gm.exe,务必要把gm安装好。。并加入到path中。。

     

    2.2. 注意事项。使用im类库貌似比较麻烦,下载了几个都不是的。。不带cli接口。。Gm默认的也不带接口,要在官网下载的才带cli接口。。

     

     

     

    作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

    捕鸟王"Bird Catcher  kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

    简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

    全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当  阿尔 拉帕努伊

    常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

     

     

    头衔:uke总部o2o负责人,全球网格化项目创始人,

    uke宗教与文化融合事务部部长, uke宗教改革委员会副主席

    Emir Uke部落首席大酋长,

    uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,

    uke 首席cto  奶牛科技首席cto , 软件部门总监 技术部副总监  研发部门总监主管  产品部副经理 项目部副经理

    uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人

     Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长

     

    uke终身教育学校副校长   Uke医院 与医学院方面的创始人

     Uke 户外运动协会理事长  度假村首席大村长  uke交友协会会长

     uke出版社编辑总编

     

    转载请注明来源:attilax的专栏  ?http://blog.csdn.net/attilax

    --Atiend  v4

     

    转载请注明原文地址: https://ju.6miu.com/read-650128.html

    最新回复(0)