可以參考chrome小樂圖客擴(kuò)展的截圖功能,支持粘貼剪貼板圖片、拖拽圖片、或者粘貼圖片網(wǎng)址上傳,是通過html5 file reader實(shí)現(xiàn)的。

創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、全網(wǎng)營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式成都網(wǎng)站建設(shè)、手機(jī)網(wǎng)站開發(fā)、微商城、網(wǎng)站托管及網(wǎng)站維護(hù)、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都廣告設(shè)計(jì)行業(yè)客戶提供了網(wǎng)站制作服務(wù)。
Clipic.js插件可以為移動端 (僅支持移動端) 提供頭像上傳并裁剪成指定尺寸,用原生js開發(fā)的,輕量級,包含html跟css,不到8kb。點(diǎn)此鏈接體驗(yàn):
參數(shù)說明
width:Number (默認(rèn):500) – 裁剪寬度
height:Number (默認(rèn):500) – 裁剪高度
ratio:Number (可選) – 裁剪的比例,當(dāng)傳入ratio時width/height將無效
src:String (必傳) – 需要裁剪的圖片,可以是圖片鏈接,或者 base64
type:String (默認(rèn):jpeg) – 裁剪后圖片的類型,僅支持 jpeg/png 兩種
quality:Number (默認(rèn):0.9) – 壓縮質(zhì)量
buttonText:Array (默認(rèn):[‘取消’, ‘重置’, ‘完成’]) – 底部三個按鈕文本
給你個圖片處理的類吧,圖片剪裁處理后,也就等于將圖片壓縮了。
/**
*?圖像處理類
*?============================================================================
*?Copyright?2014?大秦科技,并保留所有權(quán)利。
*?網(wǎng)站地址:?;
*?============================================================================
*/
class?Image{
//生成縮略圖的方式
public?$thumbType;
//縮略圖的寬度
public?$thumbWidth;
//縮略圖的高度
public?$thumbHeight;
//生成縮略圖文件名后綴
public?$thumbEndFix;
//縮略圖文件前綴
public?$thumbPreFix;
/**
*?構(gòu)造函數(shù)
*/
public?function?__construct(){
$this-thumbType?=?1;
$this-thumbWidth?=?120;
$this-thumbHeight?=?60;
$this-thumbPreFix?='';
$this-thumbEndFix?=??'_thumb';
}
/**
*?檢測是否為圖像文件
*?@param?$img?圖像
*?@return?bool
*/
private?function?check($img){
$type?=?array(".jpg",?".jpeg",?".png",?".gif");
$imgType?=?strtolower(strrchr($img,?'.'));
return?extension_loaded('gd')??file_exists($img)??in_array($imgType,?$type);
}
/**
*?獲得縮略圖的尺寸信息
*?@param?$imgWidth?原圖寬度
*?@param?$imgHeight?原圖高度
*?@param?$thumbWidth?縮略圖寬度
*?@param?$thumbHeight?縮略圖的高度
*?@param?$thumbType?處理方式
*?1?固定寬度??高度自增?2固定高度??寬度自增?3固定寬度??高度裁切
*?4?固定高度?寬度裁切?5縮放最大邊?原圖不裁切
*?@return?mixed
*/
private?function?thumbSize($imgWidth,?$imgHeight,?$thumbWidth,?$thumbHeight,?$thumbType){
//初始化縮略圖尺寸
$w?=?$thumbWidth;
$h?=?$thumbHeight;
//初始化原圖尺寸
$cuthumbWidth?=?$imgWidth;
$cuthumbHeight?=?$imgHeight;
switch?($thumbType)?{
case?1?:
//固定寬度??高度自增
$h?=?$thumbWidth?/?$imgWidth?*?$imgHeight;
break;
case?2?:
//固定高度??寬度自增
$w?=?$thumbHeight?/?$imgHeight?*?$imgWidth;
break;
case?3?:
//固定寬度??高度裁切
$cuthumbHeight?=?$imgWidth?/?$thumbWidth?*?$thumbHeight;
break;
case?4?:
//固定高度??寬度裁切
$cuthumbWidth?=?$imgHeight?/?$thumbHeight?*?$thumbWidth;
break;
case?5?:
//縮放最大邊?原圖不裁切
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?原圖
*?@param?string?$outFile?另存文件名
*?@param?string?$thumbWidth?縮略圖寬度
*?@param?string?$thumbHeight?縮略圖高度
*?@param?string?$thumbType?裁切圖片的方式
*?1?固定寬度??高度自增?2固定高度??寬度自增?3固定寬度??高度裁切
*?4?固定高度?寬度裁切?5縮放最大邊?原圖不裁切?6縮略圖尺寸不變,自動裁切最大邊
*?@return?bool|string
*/
public?function?thumb($img,?$outFile?=?'',?$thumbWidth?=?'',?$thumbHeight?=?'',?$thumbType?=?''){
if?(!$this-check($img))?{
return?false;
}
//基礎(chǔ)配置
$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]);
//獲得相關(guān)尺寸
$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);?//關(guān)閉混色
imagesavealpha($res_thumb,?true);?//儲存透明通道
}
//繪制縮略圖X
if?(function_exists("imagecopyresampled"))?{
imagecopyresampled($res_thumb,?$resImg,?0,?0,?0,?0,?$thumb_size?[0],?$thumb_size?[1],?$thumb_size?[2],?$thumb_size?[3]);
}?else?{
imagecopyresized($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;
}
}
圖片文件壓縮1M以內(nèi),但是圖片畫面清晰質(zhì)量不變,可以使用以下操作方法:
1、獲取工具“秒會壓縮大師”,選擇操作
2、導(dǎo)入圖片進(jìn)行操作。
3、最后等待圖片壓縮完成。
4、說明壓縮模式:
縮小優(yōu)先(適合用于個人資料圖片和縮率圖)
均衡壓縮(適合用于電子郵件和消息發(fā)送)
清晰優(yōu)先(適合查看)
推薦理由:
1.??? 模式壓縮圖片:可根據(jù)需求選擇圖片壓縮模式(如縮小優(yōu)先、清晰優(yōu)先),并支持自定義設(shè)圖片壓縮的清晰度、分辨率、格式以及希望大小。
2.??? .操作簡單快速:可一次性上傳多張需要壓縮的圖片文件,批量進(jìn)行圖片壓縮處理,支持根據(jù)壓縮前與壓縮后的文件大小對比確認(rèn)壓縮結(jié)果是否符合預(yù)期效果,節(jié)約圖片壓縮的時間成本。
3.??? 保障文件安全:圖片壓縮在線版對壓縮過程進(jìn)行了多重加密處理,并且在壓縮完圖片文件的30分鐘后,便會將所有文件從服務(wù)器中永久刪除,期間無人能查閱或下載這些文件,讓你的文件與隱私得到保障。
支持多種格式:圖片:支持JPG、PNG、GIF、BMP等圖片格式;視頻:支持MP4、MKV、MOV、AVI、WMV、M4V、MPEG等視頻格式;PDF:PDF文檔均可壓縮;Word:支持doc、docx等Word格式;PPT:支持ppt、pptx等PPT格式;
微信內(nèi)置瀏覽器,和一些主流瀏覽器支持調(diào)用攝像頭,但也有很多不支持調(diào)用攝像頭,僅支持相冊。
如果是WebView中,就需要客戶端支持了,android和ios的權(quán)限也是問題。
formData 簡介
簡單的說就是:通過formData,我們可以用ajax方式來發(fā)送表單數(shù)據(jù);以前上傳圖片是需要用form表單提交的。
我們知道瀏覽器默認(rèn)顯示的文件上傳按鈕是很丑的,通常UI都會對上傳按鈕進(jìn)行設(shè)計(jì)。有以下幾種方案來寫樣式。
弊端:
坑
通過ref獲取上傳按鈕。
ref方式
event.target方式
坑:
FileReader 簡介
通過 readAsDataURL() ,在讀取操作完成后,result屬性中將包含一個data:URL格式的字符串以表示所讀取文件的內(nèi)容。
base64字符串
兼容性
我在safari中測試,發(fā)現(xiàn)是支持的。
URL.createObjectURL 簡介
通過URL.createObjectURL()創(chuàng)建一個URL對象,這個URL對象表示指定的file對象或Blob對象。
兼容性
張鑫旭的文章: HTML5 file API加canvas實(shí)現(xiàn)圖片前端JS壓縮并上傳
張鑫旭的文章: 理解DOMString、Document、FormData、Blob、File、ArrayBuffer數(shù)據(jù)類型
使用Camera API
張鑫旭
HTML是用來做網(wǎng)站的一種語言哈,就是在html里面改變圖片的大小就要改變文件代碼,打開圖片源代碼,圖片文件的大小是height,和寬,我們可以更改,在語言中我們需要設(shè)置的都是英文的。
現(xiàn)在壓縮工具將圖片縮小之后都會對畫質(zhì)有影響,壓縮圖片文件選擇壓縮工具頁面中的普通壓縮就可以了壓縮程度不要過大,找到圖片壓縮工具,圖片要放置在工具頁面上進(jìn)行數(shù)據(jù)分析,根據(jù)圖片的大小工具會制定壓縮方案。
圖片分享論壇卻只允許發(fā)幾百KB的文件;微信、分享給朋友的時候自動壓縮的圖像都比較模糊
當(dāng)前名稱:android項(xiàng)目開發(fā)實(shí)戰(zhàn),Android項(xiàng)目開發(fā)實(shí)戰(zhàn)pdf
網(wǎng)站地址:http://chinadenli.net/article10/dsgggdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、定制網(wǎng)站、動態(tài)網(wǎng)站、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)