需要瀏覽器支持html5。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比珠暉網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式珠暉網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋珠暉地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
用FileReader讀取本地文件,再用Image加載此文件并縮放繪制到canvas上。最后canvas.ToDataURL()取得縮放后文件的Base64編碼,將此編碼上傳到服務(wù)端,解碼為byte[]后,寫入文件。
給你個(gè)圖片處理的類吧,圖片剪裁處理后,也就等于將圖片壓縮了。
/**
*?圖像處理類
*?============================================================================
*?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';
}
/**
*?檢測(cè)是否為圖像文件
*?@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:
//縮略圖尺寸不變,自動(dòng)裁切圖片
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縮略圖尺寸不變,自動(dòng)裁切最大邊
*?@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);?//儲(chǔ)存透明通道
}
//繪制縮略圖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;
}
}
thumbnail在美工用來具體表現(xiàn)布局方式表達(dá):大致相當(dāng)亦為效果圖及縮略圖,很小(大約為3×4英寸),縮略了細(xì)節(jié)比較粗糙,是最基本的東西。直線或水波紋表示正文的位置,方框表示圖形的位置。然后,中選的小樣再進(jìn)一步發(fā)展。
以下舉個(gè)案例:
a元素超鏈接thumbnail呈縮略圖構(gòu)成 div class="col-xs-6 col-md-3" /div:
div class="container"
div class="row"
div class="col-xs-6 col-md-3"
a href="" class="thumbnail"
img src="../image/HAIAN.jpg" alt="180x100%" style="height: 180px;width: 100%;display: block;"
/a
/div
div class="col-xs-6 col-md-3"
a href="#" class="thumbnail"
img src="../image/HAIAN.jpg" alt="180x100%" style="height: 180px;width: 100%;display: block;"
/a
/div
div class="col-xs-6 col-md-3"
a href="#" class="thumbnail"
img src="../image/HAIAN.jpg" alt="180x100%" style="height: 180px;width: 100%;display: block;"
/a
/div
div class="col-xs-6 col-md-3"
a href="#" class="thumbnail"
img src="../image/HAIAN.jpg" alt="180x100%" style="height: 180px;width: 100%;display: block;"
/a
/div
/div
/div
你好,非常高興能解決你的問題:
大多數(shù)視頻是通過插件(比如 Flash)來顯示的。然而,并非所有瀏覽器都擁有同樣的插件。
HTML5 規(guī)定了一種通過 video 元素來包含視頻的標(biāo)準(zhǔn)方法。
在HTML5中,video元素目前支持三種格式的視頻文件,
1.Ogg = 帶有 Theora 視頻編碼和 Vorbis 音頻編碼的 Ogg 文件
2.MPEG4 = 帶有 H.264 視頻編碼和 AAC 音頻編碼的 MPEG 4 文件
3.WebM = 帶有 VP8 視頻編碼和 Vorbis 音頻編碼的 WebM 文件
那么在HTML5中如何顯示視頻呢?例子如下:
復(fù)制代碼
代碼如下:
video?src="demo.mp4"?width="500"?height="250"?controls="controls"您的瀏覽器不支持此種視頻格式。/video
好了,現(xiàn)在來解釋下video元素中各屬性的含義,其中width、height就不解釋了啊,主要說下controls,顧名思義,controls 就是控件們,哈哈,就是視頻的播放、音量暫停等控件。video元素中間插入的漢字,聰明的你一定知道的,是提示用戶瀏覽器不支持視頻格式使用的。
需要注意的是,要確保適用于Safari 瀏覽器,視頻文件必須是 MP4類型。而ogg格式的視頻則是適用于Firefox、Opera 以及Chrome 瀏覽器。Internet Explorer 8 不支持 video 元素。在 IE 9 中,將提供對(duì)使用 MPEG4 的 video 元素的支持。
當(dāng)然了,我們?nèi)绻淮_定自己的瀏覽器支持什么格式的視頻,可以先檢測(cè)一下,檢測(cè)方法在另一片博文里有,感興趣的可以去看一下。若是不想麻煩,那怎么辦呢?我們可以這樣:
復(fù)制代碼
代碼如下:
video?width="500"?height="250"?controls="controls"?
source?src="movie.ogg"?type="video/ogg"?
source?src="movie.mp4"?type="video/mp4"?
您的瀏覽器不支持此種視頻格式。?
/video
video 元素允許多個(gè) source 元素。source 元素可以鏈接不同的視頻文件。瀏覽器將使用第一個(gè)可識(shí)別的格式,這樣我們只要多準(zhǔn)備幾個(gè)不同格式的視頻就可以了。
接下來,介紹幾個(gè)video標(biāo)簽的屬性,
1.autoplay :出現(xiàn)該屬性意味著視頻在就緒后將自動(dòng)播放,用法:autoplay="autoplay"
2.controls :出現(xiàn)該屬性意味著向用戶顯示控件,如播放按鈕等,用法:controls="controls"
3.height:設(shè)置高度
4.width:設(shè)置寬度
5.loop:自動(dòng)重播,用法:loop="loop"
6.preload:視頻在頁面加載時(shí)進(jìn)行加載并預(yù)備播放,用法:preload="auto"
auto - 當(dāng)頁面加載后載入整個(gè)視頻
meta - 當(dāng)頁面加載后只載入元數(shù)據(jù)
none - 當(dāng)頁面加載后不載入視頻
注意:若使用了autoplay,則忽略preload
7.src:要播放視頻的url
希望能解決你的問題!