‘壹’ js实现图片转pdf时怎么缩小体积
是如何减少pdf文件的大小吗?
除了转换PDF文件的格式外,SanPDF还可以压缩PDF文件大小。如果你需要压缩PDF文件,SanPDF“合并的PDF文件“工具是您的最佳选择。
如何免费将PDF文件大小减小到100 KB以下?
步骤如下:
1.打开浏览器 搜索SanPDF
2.转到压缩PDF文件工具。
3.选择要压缩的PDF文件。
4.等待上传PDF文件被压缩。我们将在结果页面上显示文件大小和压缩率(百分比)。
5.下载压缩的PDF文件。
希望可以帮到你鸭
‘贰’ 怎样在客户端 利用js 压缩图片 大小,然后上传至服务器比如2M压缩成几十KB
无法实现,js没有权限去修改本地文件的,只能是将大图上传到服务器后再压缩
‘叁’ js中怎么把本是长方形图片压缩成梯形图片,我想做出一个立体的图片转换效果出来求各位大神指点
郭敦颙回答:
这可能是一项尚未涉及到的等差变形技术——
把本是长方形图片压缩成梯形图片,按其一半设定为正方形,等价于压缩一边为直角梯形,按对称性展开即为等边梯形了。
设正方形边长为10cm,400万像素图片,那么每边有2000个(严格说是2001个)等分点,划平行线,将图片分成400万个小方格,这小方格即为像素。每个小方格的边长则为10cm/2000=50mm/1000=50μm(微米)。
如果把最上方格宽度尺寸由50μm改为40μm向下依次递增到50μm,社会上尺度是一个等差数列,项数为2000,首项为40μm,末项为50μm。
如此变形,即可把本是长方形图片压缩成梯形图片。
在实用上可利用视线物像的大小与距离成反比(αf=ζ, α—物像尺寸,f—距离, ζ为常数)这一原理,通过照相,把图片斜放或斜照,即可将本是长方形图片改变成梯形图片了。《几何原本》一书的封面原为长方形的,通过这种摄像,封面变成了梯形。
非常遗憾的是图片不能上传了,已有十几天。此种摄像方法,你若能用得上,可自拍看看效果。
在摄影棚中的一些特技摄影,应该会有这方面的运用。
‘肆’ 怎么用js实现图片的缩小
一般来说,实现图片的放大缩小功能都用到了比较大的封装插件,特别是以jQuery插件居多,而实际上单纯实现对原图本身的放大缩小,用简单几行原生JS代码就可以做到。在今天分享的这个实例中,点击放大按钮不松鼠标,图片会不断的逐渐放大,当然也可以点一下放大一点,点击缩小按钮则反之,有需要的朋友可以考虑收藏备用哦
以下为全部代码:
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>javascript控制图片缩小或者放大</title>
</head>
<body>
<scripttype="text/javascript">
varoTime;
functionchangeSize(id,action){
varobj=document.getElementById(id);
obj.style.zoom=parseInt(obj.style.zoom)+(action=='+'?+10:-10)+'%';
oTime=window.setTimeout('changeSize(''+id+'',''+action+'')',100);
}
document.onmouseup=function(){
window.clearTimeout(oTime);
}
</script>
<divstyle="height:350px;overflow:auto;">
<imgid="headImg"src="
<buttononmousedown="changeSize('headImg','+');"onmouseup="window.clearTimeout(oTime);">放大</button>
<buttononmousedown="changeSize('headImg','-');"onmouseup="window.clearTimeout(oTime);">缩小</button>
</body>
</html>
‘伍’ 怎么用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 ****(***)
‘陆’ 微信小程序图片压缩
微信小程序图片压缩有三种方法,一种是使用官方提供的接口 wx.compressImage(Object object) ;一种是通过压缩图片的大小,利用canvas重绘来得到压缩图片;最后一种安装第三方图片压缩包。
由于第一种方法网上很多人说压缩不明显或者失效,所以选择使用canvas重绘来实现图片压缩。同时,该种方法可以控制图片的最大尺寸,保持上传图片大小尺寸相差不多。在我们的学生节晚会小程序中,屏幕显示图片会比较美观一致。
1. 通过 wx.chooseImage 接口选择相机图片
2. 通过 wx.getImageInfo 接口获取图片信息(长宽,类型)
3. 计算压缩比例和最终图片的长宽
5. 通过 wx.canvasToTempFilePath 接口将画布内容导出为图片并获取图片路径
wxml 文件
在文件末尾插入 canvas 组件,通过设置left和top值确保图片不会显示在可视范围内。
一定要设置 canvas-id,这是canvas绘图和导出图片必备的属性。
js 文件
设置与页面绑定的数据:canvas的大小,也是压缩后图片的大小
1. 将画布内容导出为图片时,指定destWidth和destHeight为压缩后图片的大小。这里遇到过玄学bug,不指定的话,有时候图片不会压缩到规定的大小。