具體方法如下:

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括劍閣網(wǎng)站建設(shè)、劍閣網(wǎng)站制作、劍閣網(wǎng)頁(yè)制作以及劍閣網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,劍閣網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到劍閣省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
img src="圖片路徑"?alt="圖片描述"
例:img src="img/pro1.png"?alt=""
html5中設(shè)置整頁(yè)背景圖片的方法是利用css3樣式:
/*?Set?up?proportionate?scaling?*/
width:?100%;
height:?auto;
/*?Set?up?positioning?*/
position:?fixed;
top:?0;
left:?0;
}
@media?screen?and?(max-width:?1024px)?{?/*?Specific?to?this?particular?image?*/
img.bg?{
left:?50%;
margin-left:?-512px;???/*?50%?*/
}
}
通過(guò)原圖和縮放圖的大小比例來(lái)計(jì)算,在縮放圖上的截取原圖應(yīng)該取多大,以及位置。
在canvas中顯示圖片非常簡(jiǎn)單。可以通過(guò)修正層為圖片添加印章、拉伸圖片或者修改圖片等,并且圖片通常會(huì)成為canvas上的焦點(diǎn)。用HTML5 Canvas API內(nèi)置的幾個(gè)簡(jiǎn)單命令可以輕松地為canvas添加圖片內(nèi)容。
不過(guò),圖片增加了canvas操作的復(fù)雜度:必須等到圖片完全加載后才能對(duì)其進(jìn)行操作。瀏覽器通常會(huì)在頁(yè)面腳本執(zhí)行的同時(shí)異步加載圖片。如果試圖在圖片未完全加載之前就將其呈現(xiàn)到canvas上,那么canvas將不會(huì)顯示任何圖片。因此,開(kāi)發(fā)人員要特別注意,在呈現(xiàn)之前,應(yīng)確保圖片已經(jīng)加載完畢。
為保證在呈現(xiàn)之前圖片已完全加載,我們提供了回調(diào),即僅當(dāng)圖像加載完成時(shí)才執(zhí)行后續(xù)代碼,如代碼清單如下所示。
?
script type="text/javascript"
function drawBeauty(beauty){
var mycv = document.getElementById("cv");
var myctx = mycv.getContext("2d");
myctx.drawImage(beauty, 0, 0);
}
function load(){
var beauty = new Image();
beauty.src = "";
if(beauty.complete){
drawBeauty(beauty);
}else{
beauty.onload = function(){
drawBeauty(beauty);
};
beauty.onerror = function(){
window.alert('美女加載失敗,請(qǐng)重試');
};
};
}//load
if (document.all) {
window.attachEvent('onload', load);
}else {
window.addEventListener('load', load, false);
}
/script
基本繪畫(huà)
在最基本的畫(huà)圖操作中,你需要的只是希望圖像出現(xiàn)處的位置(x和y坐標(biāo))。圖像的位置是相對(duì)于其左上角來(lái)判斷的。使用這種方法,圖像可以簡(jiǎn)單的以其原尺寸被畫(huà)在畫(huà)布上。
drawImage(image, x, y)
var canvas = document.getElementById(‘myCanvas’);
var ctx = canvas.getContext(’2d’);ctx.drawImage(myImage, 50, 50);
ctx.drawImage(myImage, 125, 125);
ctx.drawImage(myImage, 210, 210);
縮放及調(diào)整尺寸
改變圖像的尺寸,你需要使用重載的drawImage函數(shù),提供給它希望的寬度和高度參數(shù)。
drawImage(image, x, y, width, height)
var canvas = document.getElementById(‘myCanvas’);
var ctx = canvas.getContext(’2d’);ctx.drawImage(myImage, 50, 50, 100, 100);
ctx.drawImage(myImage, 125, 125, 200, 50);
ctx.drawImage(myImage, 210, 210, 500, 500);
圖像裁剪
最后一個(gè)drawImage方法的功用是對(duì)圖像進(jìn)行裁剪。
drawImage(image,
sourceX,
sourceY,
sourceWidth,
sourceHeight,
destX,
destY,
destWidth,
destHeight)
參數(shù)很多,但基本上你可以把它想成從原圖中取出一個(gè)矩形區(qū)域,然后把它畫(huà)到畫(huà)布上目標(biāo)區(qū)域里。
HTML5技術(shù)支持WebApp在手機(jī)上拍照,顯示在頁(yè)面上并上傳到服務(wù)器。這是手機(jī)微博應(yīng)用中常見(jiàn)的功能,當(dāng)然你也可以在其它類型應(yīng)用中適當(dāng)使用此技術(shù)。
1、 視頻流
HTML5 的 The Media Capture(媒體捕捉) API 提供了對(duì)攝像頭的可編程訪問(wèn),用戶可以直接用 getUserMedia (請(qǐng)注意目前僅Chrome和Opera支持)獲得攝像頭提供的視頻流。我們需要做的是添加一個(gè)HTML5 的 Video 標(biāo)簽,并將從攝像頭獲得的視頻作為這個(gè)標(biāo)簽的輸入來(lái)源。
video id=”video” autoplay=”"/video
script
var video_element=document.getElementById(‘video’);
if(navigator.getUserMedia){ // opera應(yīng)使用opera.getUserMedianow
navigator.getUserMedia(‘video’,success,error); //success是回調(diào)函數(shù),當(dāng)然你也可以直接在此寫(xiě)一個(gè)匿名函數(shù)
}
function success(stream){
video_element.src=stream;
}
/script
此時(shí),video 標(biāo)簽內(nèi)將顯示動(dòng)態(tài)的攝像視頻流。下面需要進(jìn)行拍照了。
2、 拍照
拍照是采用HTML5的Canvas功能,實(shí)時(shí)捕獲Video標(biāo)簽的內(nèi)容,因?yàn)閂ideo元素可以作為Canvas圖像的輸入,所以這一點(diǎn)很好實(shí)現(xiàn)。主要代碼如下:
var canvas=document.createElement(‘canvas’); //動(dòng)態(tài)創(chuàng)建畫(huà)布對(duì)象
var ctx=canvas.getContext(’2d’);
var cw=vw,ch=vh;
ctx.fillStyle=”#ffffff”;
ctx.fillRect(0,0,cw,ch);
ctx.drawImage(video_element,0,0,cw,ch,0,0,vw,vh); //將video對(duì)象內(nèi)指定的區(qū)域捕捉繪制到畫(huà)布上指定的區(qū)域,可進(jìn)行不等大不等位的繪制。
document.body.append(canvas);
3、 圖片獲取
從Canvas獲取圖片數(shù)據(jù)的核心思路是用canvas的toDataURL將Canvas的數(shù)據(jù)轉(zhuǎn)換為base64位編碼的PNG圖像,類似于“data:image/png;base64,xxxxx”的格式。
var imgData=canvas.toDataURL(“image/png”);
這樣,imgData變量就存儲(chǔ)了一長(zhǎng)串的字符數(shù)據(jù)內(nèi)容,表示的就是一個(gè)PNG圖像的base64編碼。因?yàn)檎嬲膱D像數(shù)據(jù)是base64編碼逗號(hào)之后的部分,所以要讓實(shí)際服務(wù)器接收的圖像數(shù)據(jù)應(yīng)該是這部分,我們可以用兩種辦法來(lái)獲取。
第一種:是在前端截取22位以后的字符串作為圖像數(shù)據(jù),例如:
var data=imgData.substr(22);
如果要在上傳前獲取圖片的大小,可以使用:
var length=atob(data).length; //atob 可解碼用base-64解碼的字串
第二種:是在后端獲取傳輸?shù)臄?shù)據(jù)后用后臺(tái)語(yǔ)言截取22位以后的字符串(也就是在前臺(tái)略過(guò)上面這步直接上傳)。例如PHP里:
$image=base64_decode(str_replace(‘data:image/jpeg;base64,’,”,$data);
4、 圖片上傳
在前端可以使用Ajax將上面獲得的圖片數(shù)據(jù)上傳到后臺(tái)腳本。例如使用jQuery時(shí)可以用:
$.post(‘upload.php’,{‘data’:data});
在后臺(tái)我們用PHP腳本接收數(shù)據(jù)并存儲(chǔ)為圖片。
function convert_data($data){
$image=base64_decode(str_replace(‘data:image/jpeg;base64,’,”,$data);
save_to_file($image);
}
function save_to_file($image){
$fp=fopen($filename,’w');
fwrite($fp,$image);
fclose($fp);
}
是要用Canvas顯示圖片然后對(duì)圖片進(jìn)行顏色修改的意思嗎?Canvas是可以對(duì)圖片進(jìn)行像素級(jí)的自定義修改的。
具體來(lái)說(shuō)就是使用getImageData()和putImageData()分別用來(lái)獲取和插入像素信息(取得的ImageData對(duì)象是使用ArrayBuffer來(lái)存放數(shù)據(jù),你要更改的話按照RGBA順序來(lái)按照你的自定義要求修改每個(gè)像素的顯示)。再詳細(xì)到代碼層面的話就自己去查API就完事啦。
html5中設(shè)置整頁(yè)背景圖片的方法是利用css3樣式:
寫(xiě)法如下:img.bg { /* Set rules to fill background */ min-height: 100%; min-width: 1024px; /* Set up proportionate scaling */ width: 100%; height: auto; /* Set up positioning */ position: fixed; top: 0; left: 0;}@media screen and (max-width: 1024px) { /* Specific to this particular image */ img.bg { left: 50%; margin-left: -512px; /* 50% */ }}
多媒體:之前曾經(jīng)介紹過(guò),在HTML5中可以通過(guò)video標(biāo)簽在網(wǎng)頁(yè)中播放影片,且不需要再安裝額外的插件,此功能已經(jīng)帶給用戶極大的便利。但基本的video標(biāo)簽只提供了簡(jiǎn)單功能的播放器界面,如果想要改變播放器的外觀和功能,只能結(jié)合canvas標(biāo)簽和javascript語(yǔ)句,就能制作出酷炫的播放控制器。
{drawImage}
畫(huà)布canvas如何與視頻video標(biāo)簽結(jié)合,達(dá)到制作各種視頻功能的效果呢?其秘訣在于通過(guò)畫(huà)布重新描繪一次視頻的內(nèi)容,將視頻的每個(gè)畫(huà)面都轉(zhuǎn)換成畫(huà)布的圖像,這樣就可以通過(guò)javascript語(yǔ)言所提供的圖像控制方法來(lái)操控它們。所以炫酷播放器所使用的視頻功能,并不針對(duì)video,而是針對(duì)描繪出影像的canvas。
能夠描繪影像到畫(huà)布中的方法是“drawImage",此方法允許在canvas中插入畫(huà)布(canvas),圖像(img)和視頻(video)等元素。
drawImage方法有三種:
drawImage(image,dx,dy)//原比例繪制圖像
drawImage(image,dx,dy,dw,dh)//按設(shè)置長(zhǎng)寬繪制圖像
drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh)//裁切后繪制圖像
網(wǎng)站題目:html5圖像,html5圖像未找到
網(wǎng)頁(yè)網(wǎng)址:http://chinadenli.net/article28/dseeocp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站導(dǎo)航、建站公司、網(wǎng)站內(nèi)鏈、Google、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)