亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

js通過canvas生成圖片縮略圖

瀏覽:87日期:2024-04-17 18:19:49

現今大部分的網絡應用在上傳圖片的時候都會同時保存幾種尺寸的圖片,專業(yè)術語也就是生成縮略圖,而對于生成縮略圖一般做法是通過后端語言php等來生成,但是為了給服務器減壓,我們或許可以從前端來著手,先生成好不同尺寸的縮略圖,傳給后端,而后端只需要將前端傳過來的圖片進行存儲就好了。

使用Canvas我們可以輕松生成各種尺寸的圖片,具體實現如下:

function resizeImage(src,callback,w,h){ var canvas = document.createElement('canvas'), ctx = canvas.getContext('2d'), im = new Image(); w = w || 0, h = h || 0; im.onload = function(){ //為傳入縮放尺寸用原尺寸 !w && (w = this.width); !h && (h = this.height); //以長寬最大值作為最終生成圖片的依據 if(w !== this.width || h !== this.height){ var ratio; if(w>h){ ratio = this.width / w; h = this.height / ratio; }else if(w===h){ if(this.width>this.height){ ratio = this.width / w; h = this.height / ratio; }else{ ratio = this.height / h; w = this.width / ratio; } }else{ ratio = this.height / h; w = this.width / ratio; } } //以傳入的長寬作為最終生成圖片的尺寸 if(w>h){ var offset = (w - h) / 2; canvas.width = canvas.height = w; ctx.drawImage(im,0,offset,w,h); }else if(w<h){ var offset = (h - w) / 2; canvas.width = canvas.height = h; ctx.drawImage(im,offset,0,w,h); }else{ canvas.width = canvas.height = h; ctx.drawImage(im,0,0,w,h); } callback(canvas.toDataURL('image/png')); } im.src = src;}

在線實例地址:http://demo.jb51.net/js/2020/thumbnail/,圖片素材是拿的我們做的一個相框制作應用的截圖,有興趣的朋友可以聯(lián)系我哦,大家一起討論,一起玩。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 日本亚洲乱码中文字幕影院 | 在线一区国产 | 国产黄色免费观看 | 免费特黄一级欧美大片 | 国产伦精品一区二区三区女 | 欧美久久久久久久一区二区三区 | 2015日韩永久免费视频播放 | 国产a久久精品一区二区三区 | 免费看影片的网站入口 | 日本免费不卡视频一区二区三区 | 欧美一级淫片漂亮的老师 | 一个色综合网 | 中国黄色免费网站 | www.成人在线 | 亚洲欧美视频一区二区 | 国内成人免费视频 | 成人啪啪97丁香 | 玖玖爱视频在线观看 | 亚洲18卡通动漫在线播放 | 人成精品视频三区二区一区 | 亚洲精品国产精品乱码视色 | 亚洲精品久久九九精品 | 亚洲国产精品免费视频 | 国产噜噜噜精品免费 | 在线视频综合视频免费观看 | 加勒比一本大道在线 | 日韩欧美毛片免费观看视频 | 久久久久免费视频 | 久久久久久久亚洲精品一区 | 综合欧美日韩 | 国产免费怕怕免费视频观看 | 91久久精品午夜一区二区 | 欧美一级看片a免费观看 | 国产精品色婷婷在线观看 | 日本黄色大片免费 | 国产精品一区二区久久精品涩爱 | 高清欧美日韩一区二区三区在线观看 | 日韩欧美一区二区三区免费观看 | 国产露脸真实作爱视频 | 视频二区肥岳精品推荐 | 精品国产一区二区三区久久影院 |