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