先開啟要做剪裁的圖片,再用選取工具選取要裁剪出來的區域:
再來點按【圖片】→【剪裁出選取區域】,就能完成:
var getMousePos = function(cv, e){ var rect = cv.getBoundingClientRect(); return { x: e.clientX - rect.left,//相對於Canvas左上角的X座標 y: e.clientY - rect.top,//相對於Canvas左上角的Y座標 rectLeft : rect.left, rectTop : rect.top, clientX : e.clientX, clientY : e.clientY } };再來在Canvas中畫一個紅色矩形:
var ctx = cv.getContext('2d'); ctx.fillStyle = "#f00"; ctx.fillRect(10, 10, 50, 50);在上方的Canvas中,紅色區塊相對於Canvas的X軸範圍是10~60,Y軸的範圍也是10~60,因此,我們只要判斷使用getMousePos取得的X、Y座標是落在這範圍內的,就可以針對滑鼠水落在紅色區塊時,去做一些事件上的處理。 先在html中新增一個div來顯示訊息
再來處理Canvas的onmousemove事件:
var cv = document.getElementById('mycv'); cv.addEventListener('mousemove', function(e){ var pos = getMousePos(cv, e); if(pos.x >= 10 && pos.x <=60 && pos.y >= 10 && pos.y <=60){ $('#desc').css({'top':pos.y + 'px', 'left':pos.x+'px'}).text('在紅色區塊中'); }else{ $('#desc').css({'top':pos.y + 'px', 'left':pos.x+'px'}).text('不在紅色區塊中'); }現在,把滑鼠移入紅色區塊和移出,會看到不同的訊息。
apply plugin: 'java' apply plugin: 'eclipse' repositories { mavenCentral() } dependencies { compile 'org.springframework:spring-context:4.0.0.RELEASE' }開啟命令提示字元,切換到專案的根目錄中,然後輸入「gradle eclipse」:
$today = new DateTime(); echo $today->format('Y-m-d H:i:s'); //執行結果為:2013-12-05 16:34:47上列的執行的結果可以會和電腦顯示的時間不一樣,這是因為PHP時區設定的關係,可以去更改PHP的設定,或是在DateTime建構方法傳入DateTimeZone參數,並設定我們需要的時間字串:
//設定時間區為台北 $today = new DateTime('NOW', new DateTimeZone('Asia/Taipei')); echo $today->format('Y-m-d H:i:s'); //執行結果為:2013-12-06 00:34:47若是你要取得某一個自訂日期時間,就可以直接這樣寫:
$someDay = new DateTime('2010-08-08'); echo $someDay->format('Y-m-d'); //執行結果為:2010-08-08上列的DateTime所擁有的format,是用來做日期格式化的方法,其格式字串,「Y」表示是要格式化成4位數的西元年,「m」為「01到12」的月份,「d」為「01到31」的那一天,「H」表顯示為24小時制的時,而「i」表顯示為「00到59」的分鐘部份,「s」表「00到59」的格式來顯示秒數,詳細的格式化字串格式可以參考date方法的說明。
$today = new DateTime('NOW', new DateTimeZone('Asia/Taipei')); $today->add(new DateInterval('P3M')); echo $today->format('Y-m-d'); //執行結果為:2014-03-06若要取得三個月前的日期,就使用DateTime類別的sub方法
$today = new DateTime('NOW', new DateTimeZone('Asia/Taipei')); $today->sub(new DateInterval('P3M')); echo $today->format('Y-m-d'); //執行結果:2013-09-06在上列的DateInterval類別建構子字串參數,若要加減1年就傳「P1Y」,要加減1個月就傳「P1M」,要加減1天就傳「P1D」,要加減1年2個月又3天就傳「P1Y2M3D」,依此類推。
map
標籤中的area
標籤的coords
屬性的值,在Image Map的視窗中,點按【View】→【Source...】,就會跑出一個 View Source 的小視窗,其中就是上列所述的 html 字段。area
標籤的shape
屬性就是表示剛才選取區域時,使用矩形的結果,若是使用圓形去選取,就會是circle
,若使用多邊形去選取區域,值就是poly
,而coords
的四個數字,就是代表這個矩形的左上角的x、y座標與右下角的x、y座標。另外記得在<head>引入css檔案:
接著加入一個
button
,等下用來觸發燈箱:
(function(){ $('button').on('click', function(){ $.colorbox({ html : 'Hello lightbox!!!
', //在燈箱中要顯示的html字段 width : 700, //燈箱中間區塊的寬度 height : 600, //燈箱中間區塊的高度 onClosed : function(){ //當燈箱關閉時的callback funtion alert('Lightbox is closed'); } }); }); })();
再來一樣加入一個樣板如:
{{#each this}}
和{{/ecah}}
把<li>包住。
最後開是JavaScript的程式碼:
(function(){ //現在我們要替換的是一個陣列 var bookArr = [ {title : "First book", author : "Javakid"}, {title : "Second book", author : "Javakid2"}, {title : "Third book", author : "Javakid3"} ]; var template = Handlebars.compile($('#booklist').html()); //取得id為booklist的script中的html字段 $('ul.books').append(template(bookArr)); //把上面陣列的內容替換為樣板中的內容 })();執行後結果如: