导航:首页 > 文件处理 > html5压缩图片

html5压缩图片

发布时间:2022-01-22 07:01:57

1. 怎么用javaScript在线压缩图片

主要用了两个html5的 API,一个file,一个canvas,压缩主要使用cnavas做的,file是读取文件,之后把压缩好的照片放入内存,最后内存转入表单下img.src,随着表单提交。
照片是自己用单反拍的,5M多,压缩下面3张分别是600多kb,400多kb,300kb的最后那张失真度很大了,压缩效率蛮高的。

<!DOCTYPE html>
<html><head> <meta charset="utf-8"/> <title>File API Test</title> <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="js/JIC.js"></script> <style> #test{ display: none; } </style></head><body><input type="file" id="fileImg" ><form> <img src="" id="test" alt=""></form><script> function handleFileSelect (evt) { // var filebtn = document.getElementById(id); // console.log(filebtn); // var files = filebtn.target.files; // console.log(filebtn.target); // console.log(files); var files = evt.target.files; for (var i = 0, f; f = files[i]; i++) { // Only process image files. if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); // Closure to capture the file information. reader.onload = (function(theFile) { return function(e) { // Render thumbnail. // console.log(evt.target.files[0]); // console.log(e.target); console.log(e.target.result); var i = document.getElementById("test"); i.src = event.target.result; console.log($(i).width()); console.log($(i).height()); $(i).css('width',$(i).width()/10+'px'); //$(i).css('height',$(i).height()/10+'px'); console.log($(i).width()); console.log($(i).height()); var quality = 50; i.src = jic.compress(i,quality).src; console.log(i.src); i.style.display = "block"; }; })(f); // Read in the image file as a data URL. reader.readAsDataURL(f); } } document.getElementById('fileImg').addEventListener('change', handleFileSelect, false);</script></body></html>

var jic = { /** * Receives an Image Object (can be JPG OR PNG) and returns a new Image Object compressed * @param {Image} source_img_obj The source Image Object * @param {Integer} quality The output quality of Image Object * @return {Image} result_image_obj The compressed Image Object */ compress: function(source_img_obj, quality, output_format){ var mime_type = "image/jpeg"; if(output_format!=undefined && output_format=="png"){ mime_type = "image/png"; } var cvs = document.createElement('canvas'); //naturalWidth真实图片的宽度 cvs.width = source_img_obj.naturalWidth; cvs.height = source_img_obj.naturalHeight; var ctx = cvs.getContext("2d").drawImage(source_img_obj, 0, 0); var newImageData = cvs.toDataURL(mime_type, quality/100); var result_image_obj = new Image(); result_image_obj.src = newImageData; return result_image_obj; }, function ****(***)

2. 怎样压缩图片

方法①
1
如果你的图片格式是PNG格式的,而且对图片质量要求不高,可以使用下面的方法来压缩图片大小。

2
右键单击文件选项,将PNG图像文件用系统自带的画图板功能打开。

3
然后点击图片中所示的按钮进行设置,从新保存文件。选择“另存为”。

4
然后我们将保存格式选择为“JPEG图片”,当然根据你的需要,其他个是也可以,只不过我觉得JPEG不会使图片质量弄得损耗过大,并且占空间很小,无疑是最好的方式

5
最后填写完名称,保存即可,我们就会发现图片的空间比以前小了很多很多。 原来是9.01MB,一下子就变成了1.90MB。

END
方法②
1
此方法是针对已经是JPEG格式的图片,还可以进一步减小其所占的空间,那就是用压缩软件,我们的电脑一般都有的,如果没有可以先安装,看好,图片的大小是1.90MB

2
然后右键打开文件选择列表,选择“添加到压缩文件夹

3
然后选择压缩方式,并进行确认。

4
等待压缩软件压缩完成……

5
最后,我们将源文件和压缩文件进行对比,你会发现效果没有刚才明显,但是也是很不错的,赶紧尝试一下吧!(这种方法不太适合JPG格式的压缩图片,PNG格式的效果比较明显,不过用压缩文件来进行整理可以是我们更好地上传照片。)

3. 怎样把50M的图片压缩成5M以内,以便上传

楼主你好,要实现这个目的,我们可以通过改变图片格式或者调整图片大小及更改分辨率来达到,我的数码相片都是这样来实现的,我用的是ACDsee9.0的正版,所以也积累了一些使用经验,我的文章也被ACD官方转载到官方论坛上。

1、这里我们以ACDSee7.0简体中文版批量转换图片格式和调整图片大小视频来生动直观的解释一下怎样实现:
http://tech.163.com/special/00091LS4/schoolwekkly051.html

2、这是我给你做的截图,通过观看视频和看图片演示,我相信这是一次一站式的旅途,你不但可以实现你的目的,同时还学到了一些有用的知识:
http://hi..com/%CE%D2%BC%D2%B5%C4%D0%A1%BB%A8%C3%A8/album/%D4%DAacdsee9.0%D6%D0%D4%F5%D1%F9%B5%F7%D5%FB%CD%BC%C6%AC%B4%F3%D0%A1

祝你好运吧!

4. 怎么进行网站图片压缩优化的具体方法

对网站进行图片压缩优化具体操作步骤:

1、将下载下来的图片放入PS中,

2、点击菜单栏:文件

3、选择:存储为Web和设备所用格式,如图

5、点击下方:存储,选择需要存储的地方,就可以保存一个适合于网站的图片了。

想要图片更好的被搜索引擎抓取收录,图片大小的模式要按照121*75px比例,还需要对图片代码标签进行填写(alt为图片标签,写作规范是:alt="描述该图片")

5. 怎样压缩单张图片

图片压缩工具

偶向大家严重介绍 Magic Converter (鼓掌...)
它可以很方便的把很大的图片变小 1般可以缩小为1/10
还支持图片格式转换

装好软件后 右键指定的图片→魔法转换→优化

“平滑” (效果同艺术照 边缘模糊化 棱角多的图建议用)

注意~!
“类型” 是要保存的类型 默认是GIF

还有别的选项 大家就自己研究吧 (...)

Magic Converter 下载地址
官方 http://www.keksoft.com
天空 http://www1.skycn.com/soft/3265.html
注册名:yyxk[TFW]
注册码: (网上收集)

介绍3种不错的图片压缩工具。

Ulead SmartSaver Pro
http://www.holdsoft.com/Soft/txtx/txcl/200506/72311.htm

单打独斗——分类压缩
Ulead公司出品的Ulead SmartSaver Pro实在是一个很不错的网页图形工具,尤其在图片的减肥方面,它的功能强大而灵活,下面我就来详细介绍一下它在图片减肥方面的用法。
安装了Ulead SmartSaver Pro之后,它会自动添加鼠标右键的选项,这样当你找到想要压缩的图形文件后,你只需选定该文件点击右键,选择“Ulead SmartSaver Pro”就可以快速运行该软件并打开需要压缩的图形档。
先以压缩一张图片为例,进入主窗口,点击“Optimizer(优化)”就可以开始减肥工作了(如图1)。窗口分为两部分,左侧为原图,右侧为压缩后的新图,并且在图片上方分别标出了原图、新图的文件大小,未压缩图片的文件大小和预计网上下载时间等参数,帮助你从量上衡量图形压缩的程度。下方窗口的压缩选项会根据所选择的图片格式而各不相同,你可以通过修改这些选项并及时地预览右侧压缩后的效果来方便地控制压缩的程度。
如果想压缩后存成JPG格式,只要点击3个按钮中的“JPG”就可以了。周围的各个选项的意义分别是:File type是指图片是真彩色(True color)的还是灰度的(Grayscale);Preset中提供了4种预设模式,分别是50%和75%的改进质量、50%和75%的灰度质量;Soft是指柔化程度,因为在通常情况下JPG格式经过压缩后,图片都会出现不同程度的抖动,而适当的柔化可以使抖动的效果模糊一些,从而使图片看起来更舒服一些,但如果柔化值设得太大,图片就会变得一片模糊;Mode提供了“Prog-ressive(改进的)”、“Standard(基本的)”、“Standard Optimized(基本优化)”的三种模式。在Sudsampling中还提供了几种插值运算的方式,这两个选项都会因图片的不同而产生不同的压缩效果,在使用的过程中最好经常对比一下图片上方的数据,灵活选择;Quality就不必说了吧,图片的质量与大小当然成正比了。
GIF应该是网页中最常见的图片格式了,如果要将图片压缩成这种格式的话,首先点击“GIF”按钮,File type包含了GIF所用的索引色Indexed和灰度Grayscale;Preset中预设的分别是优化的256、64、128色和灰度的256、64、128色;Soft仍然是柔化程度;选中“Dither”和“Interlace”可分别防止出现的抖动和抽线情况;Colors是GIF图档减肥的关键参数,在不影响观看的情况下尽量减少颜色数,你会得到惊人的减肥效果;Weight决定颜色偏重于绿、蓝、红还是平均化;Palette中可选择所用的色盘是Optimize(优化)、Browser Safe(浏览安全模式)还是User Defined(用户自定),关于User Defined这个选项,如果你有自己经常用的一套色盘,你完全可以用右侧色盘区域右下方的Save Palette As按钮把它保存为pal格式,需要应用到其他图形时,只要在Palette中选择User Defined,载入保存的色盘文件就行了。此外,如果你已经有了自己固定的一套压缩参数,你不妨利用Preset下拉菜单右侧的Save按钮将该方案保存为一种预设模式,以后就可以方便的从Preset中选择了。
PNG格式虽然也被各种浏览器所支持,但得到的结果通常是使图片增肥,在这里我们就不介绍了。

一蹴而就——批量压缩
如果要压缩成批的图片,首先选择“File”→“Batch Process”,会跳出如图的对话框(如图2)。“File”一项,主要是设定文件的导入导出的方式和路径,在“Import source”中,By folder是压缩整个目录下的图档,勾选Include subf-older可包含子目录里的文件,还可通过Image Types决定只压缩该目录下某几种格式的图片文件,By files是压缩选定的文件,我们可以点击“Select Files”按钮,把需要压缩的文件加入到列表中;选定了Auto batch process后,就可以自动将我们选定的图片按设定方案压缩并保存到原始目录或指定的目录中了。“Options”一项是对压缩方案进行设定,Optimization实际上就是我们上面提到的Preset选项的集合,在这里选定存盘格式和压缩程度;Slice是对图片的剪裁,下面即将提到;Preprocessing是重新规定图片的尺寸,默认保持原图的宽高比(Keep aspect ratio),设定结束,按下回车,你就可以看到图片被一张张地压缩最后被保存到了指定目录,是不是很方便?如果你选定的部分图片压缩标准与其他图片不同,你也可以利用Batch Process,只是不要选定Auto batch process就行了,这样按“确定”键后,SmartSaver会依次打开每张图片,由你决定压缩标准并存盘后,自动提问是否打开下一张图片,选择“Yes to All”,提问辉俪鱿郑�阋部梢匝《ā癝witch to Auto Process mode”重新切换到自动压缩。

化整为零——无缝拼接
有时为了追求整体布局的美观,一些网友常在主页上放一张大图上去,并在上面做了许多链接,而这样大的图片自然会成为主页浏览速度的“杀手”,它会使浏览者的耐心消耗殆尽,从而使你的主页变得不受欢迎。SmartSaver为这种情况也提供了一套完美的解决方案,那就是把这张图片按照你的要求剪裁成很多小块并分别压缩,每块还可以链接不同的URL,有不同的注释,最后生成一段HTML代码,让网页的图看起来还是一张大图的效果(这可是FrontPage98很不容易才能实现的无缝拼接哟)。
怎样才能实现呢?首先打开图片,进入“Slicer”工作区,(如图3)看到左边工具条上像刻刀和橡皮的按钮吗?刻刀是用来剪裁图片的工具,橡皮是用来去掉剪裁线的。点击“Add Sliced Line”,拿起刻刀,在图片上你计划的位置横竖几刀将它分割,然后再换成箭头的按钮,编辑每一块小图的属性,点选一块区域,在下方的URL中填上链接的位置;Target是链接指向的窗口,参数的意思与HTML语法一样,分别是开新窗口、副级窗口、同一窗口和顶端;Alt Text是图片的注释文字;Optimizer与上面提到的一样,决定压缩的程度。存盘后,我们就得到了需要的网页。如果你想把这些图插入别的网页,你只需按下上面工具条中有HTML字样的按钮就能拷贝这段源代码,然后再粘贴到相应的网页中就行了。

Advanced GIF Optimizer
http://www.zdnet.com.cn/download/windows/business/swinfo/0,2008004949,39040826s,00.htm

其实,Advanced GIF Optimizer的用法是根本没有必要讲解,因为它的使用实在是太简单了(只有7个按钮)。(如图4)但是当我发现那些用SmartSaver压过的图片竟然还能被它压缩掉2%—28%的时候,我觉得还是有必要向大家介绍一下这个简易而又强大的工具。
Advanced GIF Optimizer主窗口分为3部分:通过左侧可以浏览文件结构,找到需要压缩的图片所在的目录;右侧用来预览选定的图档;中间则可以看到详细的压缩信息——文件名、大小、压缩后的大小、压缩量。你所要做的只是选定所要压缩的图片目录,点击“Optimize”,该软件就会自动按照它的压缩方式压缩目录下的所有GIF图档,最后覆盖源文件,就是这么简单!不过最好在Optimize之前,用“Test”测试一下,注意一下Rection(压缩量)这一项,因为有时它可能是个负数啊。

X’SqueezeMe!
http://www.yestamp.net/soft/soft.asp?id=6972

X'SqueezeMe!是专门处理JPG图片的压缩工具,在JPG的压缩方面另有一些独特的功能。进入主窗口,(如图5)左侧是用来检索原图的Source窗口,右侧是选择目标路径的Destination窗口,选上该窗口内的Link后,目标路径会自动改为与原图相同的目录下。同SmartSaver一样,X'SqueezeMe!也提供了一个Preview窗口来对比原图和新图的压缩质量,右侧新图下方的几行数字表明了新图的大小,如果有压缩量,数字会是蓝色;如果是红色,则图片变得反倒比原来大了。
右边有一排选项的Action菜单是我们为JPG图档减肥的关键,所以为大家详细列出各项用法:
Jpeg:Quality图片质量和Smoothing柔化程度在SmartSaver的用法中已介绍过,需要提醒的是,在我们做完修改后,该软件默认状态是不会像SmartSaver那样自动让你预览新图效果的,所以一定选上Process按钮右侧的“Auto”,这样我们在改变压缩选项后就可以立刻预览新图效果了;
Flip:Flip有左右反转和上下反转的效果,Rotate可使图片向左(右)旋转90、180、270度;
Size:重新调整图片的大小,可以变为原图的X%,也可以添入一个200×200这样的量化数字,但为了保持原图的宽高比,别忘了勾选“Up”和“Down”两项;
Color:可以把图片做灰度、反相处理,还可以减弱或加重红、绿、蓝三色的比重;
Mark:在图片上加上文字或图形的标志,以“Add Text Watermark”(加文字水印)为例,选上该项后会自动弹出一个对话框,在“Text to be added”中添上需要加入的文字,选择“Placement”中的一个方块(对应文字在图片上的相应位置)和“Shadow”项(对应阴影相对于文字的位置)以及各自的颜色和横向纵向位移,按下“Accept”,我们的文字水印便加在了该图片上;
Misc:一些杂项,分别为缩略图命名(图名前加“thn_”)、压缩后提供详细的报告、更新HTML代码、载入浏览器;
Batch:批量压缩,“Discard threshold-90%”表示新图的大小至少要是原图的90%,否则压缩结果不被保存,这样你可以调整压缩比后再对这些图片进行压缩,从而使整批的图片都达到理想的压缩效果。

6. php、HTML5上传图片自动压缩问题

给你个图片处理的类吧,图片剪裁处理后,也就等于将图片压缩了。

/**
*图像处理类
*============================================================================
*Copyright2014大秦科技,并保留所有权利。
*网站地址:http://www.qintech.net;
*============================================================================
*/
classImage{

//生成缩略图的方式
public$thumbType;
//缩略图的宽度
public$thumbWidth;
//缩略图的高度
public$thumbHeight;
//生成缩略图文件名后缀
public$thumbEndFix;
//缩略图文件前缀
public$thumbPreFix;

/**
*构造函数
*/
publicfunction__construct(){
$this->thumbType=1;
$this->thumbWidth=120;
$this->thumbHeight=60;
$this->thumbPreFix='';
$this->thumbEndFix='_thumb';
}

/**
*检测是否为图像文件
*@param$img图像
*@returnbool
*/
privatefunctioncheck($img){
$type=array(".jpg",".jpeg",".png",".gif");
$imgType=strtolower(strrchr($img,'.'));
returnextension_loaded('gd')&&file_exists($img)&&in_array($imgType,$type);
}

/**
*获得缩略图的尺寸信息
*@param$imgWidth原图宽度
*@param$imgHeight原图高度
*@param$thumbWidth缩略图宽度
*@param$thumbHeight缩略图的高度
*@param$thumbType处理方式
*1固定宽度高度自增2固定高度宽度自增3固定宽度高度裁切
*4固定高度宽度裁切5缩放最大边原图不裁切
*@returnmixed
*/
privatefunctionthumbSize($imgWidth,$imgHeight,$thumbWidth,$thumbHeight,$thumbType){
//初始化缩略图尺寸
$w=$thumbWidth;
$h=$thumbHeight;
//初始化原图尺寸
$cuthumbWidth=$imgWidth;
$cuthumbHeight=$imgHeight;
switch($thumbType){
case1:
//固定宽度高度自增
$h=$thumbWidth/$imgWidth*$imgHeight;
break;
case2:
//固定高度宽度自增
$w=$thumbHeight/$imgHeight*$imgWidth;
break;
case3:
//固定宽度高度裁切
$cuthumbHeight=$imgWidth/$thumbWidth*$thumbHeight;
break;
case4:
//固定高度宽度裁切
$cuthumbWidth=$imgHeight/$thumbHeight*$thumbWidth;
break;
case5:
//缩放最大边原图不裁切
if(($imgWidth/$thumbWidth)>($imgHeight/$thumbHeight)){
$h=$thumbWidth/$imgWidth*$imgHeight;
}elseif(($imgWidth/$thumbWidth)<($imgHeight/$thumbHeight)){
$w=$thumbHeight/$imgHeight*$imgWidth;
}else{
$w=$thumbWidth;
$h=$thumbHeight;
}
break;
default:
//缩略图尺寸不变,自动裁切图片
if(($imgHeight/$thumbHeight)<($imgWidth/$thumbWidth)){
$cuthumbWidth=$imgHeight/$thumbHeight*$thumbWidth;
}elseif(($imgHeight/$thumbHeight)>($imgWidth/$thumbWidth)){
$cuthumbHeight=$imgWidth/$thumbWidth*$thumbHeight;
}
//}
}
$arr[0]=$w;
$arr[1]=$h;
$arr[2]=$cuthumbWidth;
$arr[3]=$cuthumbHeight;
return$arr;
}

/**
*图片裁切处理
*@param$img原图
*@paramstring$outFile另存文件名
*@paramstring$thumbWidth缩略图宽度
*@paramstring$thumbHeight缩略图高度
*@paramstring$thumbType裁切图片的方式
*1固定宽度高度自增2固定高度宽度自增3固定宽度高度裁切
*4固定高度宽度裁切5缩放最大边原图不裁切6缩略图尺寸不变,自动裁切最大边
*@returnbool|string
*/
publicfunctionthumb($img,$outFile='',$thumbWidth='',$thumbHeight='',$thumbType=''){
if(!$this->check($img)){
returnfalse;
}
//基础配置
$thumbType=$thumbType?$thumbType:$this->thumbType;
$thumbWidth=$thumbWidth?$thumbWidth:$this->thumbWidth;
$thumbHeight=$thumbHeight?$thumbHeight:$this->thumbHeight;
//获得图像信息
$imgInfo=getimagesize($img);
$imgWidth=$imgInfo[0];
$imgHeight=$imgInfo[1];
$imgType=image_type_to_extension($imgInfo[2]);
//获得相关尺寸
$thumb_size=$this->thumbSize($imgWidth,$imgHeight,$thumbWidth,$thumbHeight,$thumbType);
//原始图像资源
$func="imagecreatefrom".substr($imgType,1);
$resImg=$func($img);
//缩略图的资源
if($imgType=='.gif'){
$res_thumb=imagecreate($thumb_size[0],$thumb_size[1]);
$color=imagecolorallocate($res_thumb,255,0,0);
}else{
$res_thumb=imagecreatetruecolor($thumb_size[0],$thumb_size[1]);
imagealphablending($res_thumb,false);//关闭混色
imagesavealpha($res_thumb,true);//储存透明通道
}
//绘制缩略图X
if(function_exists("imageresampled")){
imageresampled($res_thumb,$resImg,0,0,0,0,$thumb_size[0],$thumb_size[1],$thumb_size[2],$thumb_size[3]);
}else{
imageresized($res_thumb,$resImg,0,0,0,0,$thumb_size[0],$thumb_size[1],$thumb_size[2],$thumb_size[3]);
}
//处理透明色
if($imgType=='.gif'){
imagecolortransparent($res_thumb,$color);
}
//配置输出文件名
$imgInfo=pathinfo($img);
$outFile=$outFile?$outFile:dirname($img).'/'.$this->thumbPreFix.$imgInfo['filename'].$this->thumbEndFix.".".$imgInfo['extension'];

Files::create(dirname($outFile));
$func="image".substr($imgType,1);
$func($res_thumb,$outFile);
if(isset($resImg))
imagedestroy($resImg);
if(isset($res_thumb))
imagedestroy($res_thumb);
return$outFile;
}

}

7. 前端把图片压缩转换成base64编码把值赐予input='hidden' 之后提交给后台. HTML5,PHP,Javascript,canvas

缺点你无法直接验证传来的base64数据的完整性,比如大小,文件头之类的,还需要自己来实现。

8. html/css 网页背景图片,如何自适应宽度,长度不压缩 div如何半透明详解

<style type="text/css">
<!--
body {
background-image: url(”图片地址“);

background-repeat: repeat-x;
}
#div1 { margin:0px auto; width:500px; height:370px ; text-align:center; background:url(/jscss/demoimg/wall3.jpg);}
#div2 { height:330px; filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;z-index:100; background-color:#ffffff; }
-->
</style>

横向平铺背景。
div透明度,继续参考下面代码

<div id="div1">
<div style="padding:20px;"><div id="div2">这里是透明的DIV</div></div>
</div>

9. html5怎么压缩图片

利用canvas的drawImage方法来绘制图片,并且设置绘制的图片的width跟height,最后再通过canvas的toDataURL方法来生成压缩后的dataUR

下面直接上代码:

html:

[html]view plain

阅读全文

与html5压缩图片相关的资料

热点内容
打造电子书反编译工具 浏览:74
压缩比115 浏览:558
pdf怎么抠图 浏览:864
霍妮pdf 浏览:808
反编译VMP 浏览:46
hello编译器 浏览:771
apk程序加密 浏览:595
如何给app重命名 浏览:603
怎么幽默调侃程序员 浏览:285
忘记密码解压视频 浏览:911
运城机场春运加密 浏览:287
安卓手机如何关闭app后台 浏览:154
安卓数字密码忘记怎么破解 浏览:252
pythonzmq模式 浏览:182
linux运行php网站 浏览:866
实验室无油压缩机 浏览:805
哪里可以免费看动画app 浏览:54
文本加密咋解 浏览:486
tomcat做服务器怎么设置 浏览:252
非对称加密会增大网络包吗 浏览:703