星期二, 5月 05, 2009

修正舊版瀏覽器無法正常顯示PNG的問題

舊版的IE瀏覽器(6.0, 5.5, 或更早的版本)並不完全支援PNG格式圖片的顯示,因此會在透明PNG圖片的周圍產生一片淡藍色的區域;常更新軟體的人可能不會發現,但對於電腦「不過就是一個東西放在那邊」的人來說,他們可不管這麼多…雖然如此,我們還是得要照顧到他們,所以…底下是google到的一段程式碼,只要把它放進Head裡面,就可以讓舊版瀏覽器也能正常顯示透明PNG囉!
<!--[if gte IE 5.5000]>
<script language="JavaScript">
function correctPNG()
{
for(var i=0; i<document.images.length; i++)
{
var img = document.images[i]
var imgName = img.src.toUpperCase()

if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText

if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle

var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;"
+ imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"

img.outerHTML = strNewHTML
i = i-1
}
}
}
window.attachEvent("onload", correctPNG);
</script>
<![endif]-->

星期日, 5月 03, 2009

Porter包



星期六下午在信義新光三越和小瑜逛到一家專門賣包包的Porter,它們家賣的這款Heat系列包看起來還真不錯,不但可以放筆電,造型也在時尚中帶著些休閒,兼具實用性,所以有點兒心動想要買它…但是看到NT$6,650的價格,以及我最近努力很認真存錢的決定…矛盾之間,還是選擇了放棄…也許等我存到更多錢之後,會看到更棒、更適合的!(我好像總是有些喜新厭舊的感覺…)

這個包包還附贈一個小手電筒就掛在外面的拉鍊頭上,以及一個小包包可以收納小東西,裡面的內袋也不少!感覺滿實用的!(也許可以再縫個指南針之類的東西在包包上,乾脆再加個瑞士刀好了…@#$%^&)

若要說這款的缺點,就造型的部份我其實還滿喜歡的!就實用性看來,如果它可以有一個隱藏式的大開口拉鍊,並且不怕雨淋的話(不止是防潑水而已),對我來說就是超級完美了!

星期五, 5月 01, 2009

好鋼彈的滑鼠:Scope Node奇隼



Elecom最近推出了一款俱備雷射感應器的滑鼠:「Scope Node(奇隼)」。我看了它的樣子以後,直覺得它一整個就不是現實世界的滑鼠!?因為從來沒想過滑鼠可以長這個樣子!其實我覺得它長得滿特別的!好像鋼彈的裝甲放在滑鼠上面,還滿想試用看看的!

它設計概念的發想是人用筆寫字的方法,也是它所要強調的地方;雖然癮科技之前就曾報導過,但現在終於可以買到它了!不過,經過創意設計過的產品價格通常都不低,這隻滑鼠的價格約為NT$1,590(GoHappy網路價);以「有線」滑鼠來看,價格並不低!不知道光華商場有沒有賣比較便宜的…但一般的有線滑鼠怎麼看都沒這隻特別!真是矛盾呀…難道要等它出無線的版本?!

雖然不知道這隻滑鼠實際使用的感覺會是如何,單就造型看來,它相當的大膽!也非常的前衛!這樣的設計通常會得到很兩極化的評價,喜歡的人就會非常喜歡,但不喜歡的人就完全無法接受!與我最常使用的羅技滑鼠比較起來,羅技的設計相對就保守多了。假使和我現在使用的Apple無線Mighty Mouse比起來,它就是加上裝甲的Mighty Mouse,也許可以叫做「Mighty Mouse - Armed Edition」。有機會的話我會去試用看看,畢竟一隻滑鼠最大的功能就是讓人操作順手!

Polaroid 拍立得 Pogo隨身相片印表機



GoHappy電子報上提到一款「Polaroid 拍立得 Pogo隨身相片印表機」還滿有趣的! 它讓我想起以前曾很流行的大頭貼…這台「印表機」大概是我看過目前最小的印表機了吧!?只不過,誰會想隨身帶著印表機呢?雖然我不清楚誰會想要這麼做,但如果你偷偷帶著這台印表機(不要讓別人發現),然後把大家的照片印出來,保證讓大家很驚奇!話題自然就來了,呵呵…未來如果我們的數位相機都能加上這功能就真的太棒了!

iNeno 多功能充電器



之前我在Costco曾買過一組「勁量(Energizer)」充電器,價位比起這上面這組充電器貴上不少錢,高達NT$1,700!但它15分鐘左右就能將電池充電的動作完成,速度之快,是其它充電器辦不到的!而且也包含了將近十顆的充電電池(好像是八個3號、四顆4號充電電池);因為我知道家樂福四顆4號的勁量充電電池就要NT$360(一顆90元),所以換算下來,單純一個勁量充電器的價格約NT$680。

反觀上圖這組快樂購賣的充電器:「iNeno 多功能充電器(可充1、2、3、4號、9V鎳氫、鎳鎘電池)」要價NT$699其實並不便宜(但「總價」上來說是便宜的),而且也沒有標示充電時間!唯一讓吸引我的就是它的「多功能」,畢竟市面上沒看過幾台充電器可以把充這麼多類型的電池,這點我倒是覺得滿厲害的!(也很樂見!)如果它的充電速度快的話就更棒了!

此外,我也必須要說一下充電電池的問題:使用的時間不如一般電池長。雖然電池上面都有標示電量,而且可以重複充電使用超過一千次,但不知何故,它的電量用起來就是沒有一般電池用的久!(推測可能並不會真正充飽,才能延長電池壽命)然而,使用充電電池的目的就不是為了環保嗎?!沒錯!我就是為了地球才買它們的!雖然價格不便宜,但其實長期下來的成本相對是低的,只是要習慣去找充電器在哪,就像找手機充電器一樣。

還有,如果把鋰電池做成像一般的充電電池(1、2、3、4號),使用電力會更久嗎?電池壽命會更長嗎?

AS2:FLV影片播放器不能自動重播

當你在Flash裡把載入flv影片的參數設成自動重播(autoRewind=true)後,理論上這支影片就會自動重播了。不過,有趣的是,理論常常會和現實衝突!因為昨天我就遇到了不會自動重播的情形…明明已經在flash的播放器上指定了正確的flv影片路徑,而且也將autoRewind設為true,但影片就是不會自動重播!?還好Kirupa的一篇「loop "flv" files」提供了一個非常簡單的解決辦法,直接將底下的actionscript程式碼加在flv影片的播放器上就行了:
on (complete){
this.autoRewind=true;
this.play();
}
基本上,上面的語法只是告訴flash說:「當影片(this)載入完畢(complete)後,記得要自動重播(autoRewind=true),然後就開始播放影片(play)。」

不過這樣的做法仍然是有前提的,例如使用ActionScript 3.0語法的Flash就行不通(因為ActionScript3.0不能把語法下在物件上,不論是Movie Clip、按鈕皆不可行),但仍可給之前的版本做參考與應用。

星期二, 4月 28, 2009

Flash底下硬是長出空白背景區域!?

昨天在做網頁的時候發現了一個奇怪的現象,就是Flash的物件在IE6底下看起來很正常,但在Firefox上卻不是那麼一回事;也許你會說這是瀏覽器的不同,但是怪就怪在這東西的組成一點兒都不難,就是表格中由上而下放了兩個Flash,最底下只放一張圖,完全是一整個簡單到不行!但是卻讓我怎麼也想不透原因!為什麼Firefox硬是要在底下多出幾個像素的空白,竟然把我要的畫面撐破了!

後來才知道,也是推測最可能的原因是「Object」標籤的問題。有時候Firefox會把<Object>視為「行內(inline)」元素,也就是當作一般的文字來看待;既然是文字,就會有文字應該有的高度、大小等實體空間的存在。

如果我們把行高與字體大小皆設為0也可解決這個問題!不過,還有另一個方法,就是把Object的display屬性設成是區塊(block),只要用CSS指定如下即可:
object{
display:block;
}

設為區塊屬性(display:block)之後,該區域在Dreamweaver 8.0的設計模式中會產生雙倍高度的怪異現象…也就是明明只放了一個Flash元件,但Dreamweaver看起來卻是兩個一樣的東西上下黏在一起!

由於之前都未曾遇到Flash元件object所造成的問題,因此我也不排除公司軟體老舊的因素…(一直很期待公司能給我換新電腦、新軟體…orz)。

Firefox 3.5 Beta 4 釋出



今天開Firefox的時候發現它自動要求我更新到3.5 Beta 4版,一如之前之言,這正是3.1 Beta 3的下一個版本;只不過,到底更新了些什麼東西?其實我也不清楚…不過可以確定的是,它比之前穩定多了!而且開啟的速度也比較快!

想知道更多的人可以到Gururu的「新!Firefox 最新 3.5 beta 4測試版開放下載」看看別人怎麼說的…

星期日, 4月 26, 2009

Look Good In Pictures



有時候我們會發現照片上的自己常常沒那麼好看,也許是雙下巴,也許是臉太胖,反正就是不上像!那麼,應該要怎樣才能讓自己在照片上更好看?(難道是學會使用Photoshop?!)這問題該怎麼回答比較好?看看「Look Good In Pictures(在照片裡看起來很好看)」這個網站,裡面有很多影片,看Carson Kressly的快言快語怎麼告訴你一堆的答案!多學著點囉~

Mac的省電捷徑:讓顯示器進入睡眠



Mac OS的「系統偏好設定…」裡有個「Exposé與Spaces」的項目,其中的「Exposé」可以讓我們設定當滑鼠指標移到顯示器的四個角落時(也就是四個「熱點」)會觸發某些功能;我個人偏好在右上角的熱點設定為「讓顯示器進入睡眠」(如上圖);如此一來,當我隨時要離開電腦時,可以馬上讓顯示器關閉,達到立即省電的效果,還滿方便的!

星期六, 4月 25, 2009

Photoshop:重複「複製、貼上、移動」動作

想在Adobe Photoshop做到像Adobe Illustrator一樣用「Command+D」(PC: Ctrl+D)重複製上一個「複製、貼上、移動」的動作並不容易,好像我們平常並不會在Photoshop使用這種功能…不過,Photoshop還是繼續偷藏了一個快速鍵:「Command+Option+Shift+T」(PC:Ctrl+Alt+Shift+T),可以讓你重複上一個「複製、貼上、移動」的動作。

不過,它的用法滿怪的!隨便用的話,你會發現根本就沒效!答案很簡單,因為它的使用是有前提的。

首先,你得使用快速鍵:「Command+Option+T」(PC: Ctrl+Alt+T)叫出變形的控制外框(不是一般的Command+T(PC:Ctrl+T)鍵);接下來按住「Shift」鍵不放,移動想要複製的圖案;這時候你會發現圖案真的被複製了!(註:按Shift鍵會限制移動的角度,然而,只要畫面出現複製圖案之後就可以放開Shift鍵,一樣可以複製移動到不同的角度…)更妙的是,當你按下:「Command+Option+Shift+T」(PC:Ctrl+Alt+Shift+T)鍵,Photoshop就幫你繼續複製移動下去了,就像Illustrator的快速鍵:「Command+D」一樣,還滿神奇的!

更有趣的還在後頭!你可以選不同的圖案做出同樣的效果!只要按住Command(PC:Ctrl)鍵不放點選圖案,再按下「Command+Option+Shift+T」就可以了!

如果你有Photoshop的話可以試試這功能!版本的部份我不確定第幾版開始才有這個快速鍵出現,但Photoshop CS4肯定可以是沒問題的!(現在確定7.0版本也是可以用的)

缺點的部份,除了要按住的快速鍵太多、太複雜之外,它一次只能針對一個圖層的圖案做出這樣的效果,沒辦法像Illustrator可以一次對多個物件;但或許這個問題在下一個版本的Photoshop就可以了也說不定!只是…有多少人會去使用這個功能呢?

星期四, 4月 23, 2009

Pixel Bender Plugin for Photoshop CS4



Adobe Photoshop CS4有個有趣的外掛程式:Pixel Bender。它可以運用顯示卡的GPU來執行即時的像素扭曲(Pixel Bender)特效;之前的版本沒辦法安裝,但現在經過測試,已經可以成功安裝並在Photoshop中執行!不過目前只有英文版本,喜歡玩影像特效的人還是可以到Adobe Labs下載來試試效果。

水の落ちる絵



水の落ちる絵」是youtube的一支影片。很難想像原來水的落下能夠形成這麼美的畫面!像動畫一般;也許你看完之後,會跟我一樣覺得這影片還滿精彩的!

星期四, 4月 16, 2009

ASP網頁的include

雖然我不寫ASP類型的網頁,但公司伺服器卻使用微軟的系統來搭建並採用ASP作為伺服器互動的機制。正因為如此,我莫名其怪的學會了「Include(將外部程式包進來)」方法;當然,前提是你得有ASP伺服器才行。

之所以會有include方法,就是因為我們常會發現部份網頁的特定區域或程式是一模一樣的;如果客戶要求我們修改這些特定區域的時候,我們可能得一頁頁的修改這些一模一樣的網頁原始碼,會很費時費力!ASP的include則提供了另一個聰明的方法,就是把這些一樣的網頁原始碼的「片段」存放到另外一個不同的小檔案中(類似載入外部CSS檔);之後我們只要修改這個外部的小檔案,ASP伺服器就會自動更新修改過的檔案的程式片段。當網頁很多的時候,這方法就會變成一個很有力的方法!

Include的方式其實不難!只要將網頁原始碼的程式片段「剪下」再「貼」到一個新的文字檔裡(ex: sample.txt),並將文字檔的副檔名由原來的txt更改為inc,變成.inc的include檔(ex: sample.inc)。此時,在原來被剪下的程式片段位置改為底下的程式碼,ASP伺服器就會知道這是include,於是ASP伺服器會將這個外部的程式片段自動載入,然後才顯示組合後真正完整的網頁原始碼:
<!-- #include file="sample.inc" -->

換言之,ASP伺服器只要看到上面的程式碼,就會自動載入程式碼所指定的檔案(ex: sample.inc),並完全的取代掉上面的程式碼。

值得注意的是,這個include檔的路徑不能是「絕對路徑(absolute URL)」,只能是「相對路徑(relative URL)」,否則會沒有作用。

另外一點就是,當你的程式使用了太多的include之後,你會發現…這網頁很容易變成只能用ASP伺服器修改,因為太多的include檔早已讓你看不清網頁原來的樣子!所以include還是要謹慎使用呀!

星期一, 4月 13, 2009

AS2:在Flash 8用同一個影片組件播放不同的影片



雖然現在Flash已經有CS4的版本,而且已經發行很久了;但不可否認的,還是有一些人仍然在使用Flash 8的版本,一樣在使用ActionScript 2.0。今天,我就遇到一個我很久沒在用的東西:影片組件。

影片組件可以很容易的把單一影片在swf檔案中播放,只要在參數視窗裡面,將空白的"contentPath"欄位指定影片的位置即可。但如果我想要點選不同的按鈕,讓同一個播放影片的影片組件播放不同的影片,又該怎麼做呢?

Adobe Flash的線上參考說明提供了一篇文章:Playing multiple FLV files,有相關的做法可供參考。其範例如下:
import mx.video.*;
my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/clouds.flv";
var listenerObject:Object = new Object();
// listen for complete event; play new FLV
 listenerObject.complete = function(eventObject:Object):Void {
  if (my_FLVPlybk.contentPath == "http://www.helpexamples.com/flash/video/clouds.flv") {
   my_FLVPlybk.play("http://www.helpexamples.com/flash/video/water.flv");
  }
};
my_FLVPlybk.addEventListener("complete", listenerObject);

其中,最值得注意的就是「contentPath」,指的就是影片路徑,用以告知影片檔案在何處。假設我們指定播放影片的影片元件的實體名稱為「my_FLVPlybk」,那麼只要在後面的contentPath指定影片位置,即可更新影片元件播放的內容。換言之,只要設定按鈕在按下去之後,指定新的contentPath給影片,就可以讓影片播放新的影片內容了。

星期二, 4月 07, 2009

貧民百萬富翁 (slumdog millionaire)

今天和小瑜欣賞了一場星期一午後的電影:貧民百萬富翁 (slumdog millionaire) 。雖然這部片的劇情看似就像平常電視上猜題拿大獎的節目,但是當我看完之後,則是完全對它改觀!我覺得這部片真的是一部非常值得欣賞的電影!

一開始主角賈默(Jamal)就被印度警察嚴刑拷打;我剛開始還覺得很怪,怎麼會一開始就這樣子?!後來才知道電影用倒敘的手法,一題一題的將賈默答題的「心路歷程」呈現在觀眾的眼前;最後,再回到殘酷的現在,將劇情繼續下去,直到結束。

看完之後,我覺得這不是一部「猜題拿大獎」的電影,這是一部「愛情片」!賈默並不是一心想要成為百萬富翁才參加這個遊戲的,他參加這個遊戲的目的只有一個,就是讓他心愛的女孩拉緹卡(Latika)看到他!因為當時全印度的人幾乎都在瘋這個節目。賈默從小就不是有錢人,他出生在印度貧民窟,小時候母親就被反對回教信仰的人殺死!他和哥哥薩林(Salim?)逃了出來,後來用各式各樣的方式討生活;雖然薩林誤入歧途,但有時候還是會良心發現,最後為了讓拉緹卡離開壞蛋馬曼的身邊,把自己的命都送上了!

貧民百萬富翁反映出幾個印度人從小到大悲慘的成長與求生存的過程,在電影中看到了很多在我們所身處的環境中一般人都無法接受的情況,也看出了人類為求生存的韌性與各種人性!不論是那些讓賈默答題的感慨過程,或是主持人對賈默是倒茶小弟的身份的歧視、不尊重與錯誤的引導,甚至到電影最後結束時演員們的載歌載舞,反映出來的都像是活生生的印度文化,一整個「印度就是這樣子」的情境!

全劇讓我曾一度眼睛泛著淚水的地方,是賈默終於答對最後一道題目,但之後他卻依然在車站默默等著拉緹卡的現身;而在拉緹卡終於現身時,他們相擁在一起!原本以為賈默和拉緹卡會接吻,但賈默卻吻了拉緹卡被刀劃過留下傷疤的臉頰!那是拉緹卡不想讓人看到的傷痕!這代表了賈默的真心,而且他用吻撫慰了拉緹卡心裡的傷痕,好像用無言的方式告訴著她:「不管妳變成什麼樣子,我都會永遠深愛著妳!」我真的覺得很感動!整個電影的過程,賈默從很小的時候就喜歡拉緹卡,甚至長大了也一樣,他會一直愛著她到生命的最後一刻吧!即便拉緹卡曾因倆人沒錢可過生活而無法選擇和賈默在一起,但賈默贏得了二千萬盧比的獎金,不但有錢可以和拉緹卡一起生活,同時也成就了印度人人都想擁有的富豪夢!這真的是一部值得去電影院欣賞的好電影!