Sean's Note: 11月 2012

2012年11月29日 星期四

[JavaScript] function 函數

JavaScript 的 function 與 C/C++ 不同的地方有三點:

1. function 可被定義在另一個 function 裡
function MakeMulFunction(amout)
{
  function Mul(number)
  {
    return number*amout;
  }
  return Mul;
}

2. 允許匿名函式 (Anonymous Function)
function MakeMulFunction(amout)
{
  return function (number)
  {
    return number*amout;
  }
}

3. 可用變數來定義 function (類似 C/C++ function pointer 的功能)
var Add = function(a, b) { return a+b; };

2012年11月27日 星期二

安裝 Aptana Studio 3

Aptana Studio 3 是一套支援網頁開發的外掛程式,支援大部分的網頁語言編輯撰寫功能,

如 HTML、PHP、JavaScript、Rails、Python 等。而除了程式碼提示、自動完成與偵錯的功能,

也提供了一些程式碼的佈景主題,讓程式碼更容易閱讀。

在 Eclipse 安裝 Aptana Studio 3 的套件時,如果曾經裝過 PyDev 套件,

會出現和 Aptana 和 PyDev 相衝的錯誤訊息,因為 Aptana Studio 3 裡已包含 PyDev 套件,

所以可先移除 PyDev 套件再重新安裝一次即可。


在 2014.8.22 補充:

最近更新 Aptana 3.6 後,PyDev 在 theme 和 auto completion 上都變得怪怪的

後來乾脆只裝 PyDev 3.6,自己改 PyDev Editor 的 Color 設定。

XML 則裝 Rinzo XML Editor 1.4: http://editorxml.sourceforge.net/updates/。

2012年11月14日 星期三

JPG, EXIF 與 Orientation

JPEG, TIFF 或 RIFF 中會有個 EXIF (Exchangeable image file format) 標頭檔,

裡面存放了許多資訊,例如: 製造廠商 (Manufacturer)、相機型號 (Model)、

影像方向 (Orientation)、光圈值 (FNumber) 與 ISO 等等。其中,Orientation 是為了數位相機

和手機等所使用,記錄使用者拍照時相機的方向,以八個值定義:

1 - 右上 (我們平常拿相機的方向,若以右上角的拍照鍵定為基準點),此時人頭朝上
2 - 1 的左右鏡像
3 - 左下 (基準點此時在右下),此時人頭朝下
4 - 3 的左右鏡像
5 - 6 的左右鏡像
6 - 右下,此時人頭朝左
7 - 7 的左右鏡像
8 - 左上,此時人頭朝右

以 1, 3, 6, 8 為常見值,2, 4, 5, 7 除非顯示裝置或軟體支援,否則無效。

Windows Photo Viewer 並不支援 EXIF 的 Orientation Flag,也就是說原始資料 (Raw Data)

是什麼就顯示什麼,並不會幫使用者轉方向。另外,使用 Windows Photo Viewer 轉向後

儲存也會造成失真,建議還是以其他軟體來編輯相片吧!


參考資料:
  1. http://en.wikipedia.org/wiki/Exchangeable_image_file_format
  2. http://www.impulseadventure.com/photo/exif-orientation.html