Google搜查列

 

2008年11月17日 星期一

RGB 色頻的亮度分佈

亮度分佈圖檢視外,新增可以同時或個別檢視RGB 色頻的亮度分佈圖,以確認曝光的分佈情況。
我就先從白色的亮度分佈開始說吧

一般我們所看到的jpg圖,都是由四層色層來形成的
分別由紅、藍、綠、亮度,這四層

你可以想像成四張底片重疊起來,放在燈下就可以形成jpg圖

解釋度:
再來要說的是解釋度啦,也就是一張800x600的圖
800 x 600 = 480000
也就是48萬,這張圖片包括了48萬點

其他常見的解釋度有
1024 x 768 =786432點(約80萬點)
1600 x 1200 =1920000點(約200萬點)
....
3072 x 2304 = 7077888點(約700萬點)

這個解釋度點數愈多,表示圖片愈細緻,所以現在的相機常說的500萬相機,800萬相機等,就是拍攝出來的照片圖片大小尺寸
解釋度愈高能洗出的傳統實體照片尺寸愈大張

影像三原色:


我們所看到電腦裡的照片,都是由RGB,紅、綠、藍三色所組成的,所以我們一張圖片可以把它分折成三張單獨的照片,也就是把紅,綠,藍,分開,重新組合就是原來的照片了

亮度分佈圖:
未完....

2008年11月4日 星期二

PSPad 不錯用的文書編輯軟體



寫腳本最好的文字編輯工具,像我個人會拿這來寫html php perl cgi ,都非常好用
同時也支援編輯的文件type,像要寫utf-8的文件格式,就不用特別在存檔時選擇了
還有自動斷行的功能(換行)
已知匯數會自動變粗體 (比如if ,chomp ,printf ......)
常要打的字句可錄製成巨集
支援巨集 - 可將常做的一連串動作錄成巨集檔, 以後要使用時只要播放該巨集檔就可執行完成
還有一個顏色選擇器,如寫html時會常用到#33bb11這種的,就可以用圖示來插入
如果更進階的,也有16進位編輯工具 PSPad HEX內建HEX編輯器
支援 Unicode
多國語系介面 - 包含了繁體及簡體中文的支援
支援分頁 - 開一堆檔案也不怕
程式語法高亮度顯示 - 個人認為「PSPad」的語法高
亮度顯示功能比「UltraEdit」更精確好用
FTP 功能 - 讓你直接編輯遠端 FTP 的文件
支援 Session - 啟動時可直接開啟上次編輯的文件 (對我而言很重要的功能)
檔案比對 - 可比對兩個檔案內容的差異

支援 HTML 驗證及排版
支援正規表示式 - 在某些情況下, 這功能很好用
內建 Google 搜尋 - 編輯文章時, 臨時想查 Google!?「PSPad」允許你直接選取文件中的任意字詞直接送到 Google 中做搜尋
支援多項開發網頁及程式時會用到的小工具 - 例如: ASCII 字碼表、色彩格式轉換器等等
支援 Extensions, 可擴充軟體功能。

不錯用!阿鳥大力推薦






PSPad是一個在microsoft下免費的程式編輯工具,對那些人而設計的呢:

*各種寫程式為工作的環境
*想強調語法的源始程式碼者
*需要一個小工具,具有簡單的控制和強大能力的程式碼編輯器
*正在尋找一種工具,純文字處理
*要節省時間-PSPad提供了豐富的文字格式化功能
*需要什麼工具,提供用戶擴展能力
*想省錢,現有功能的專業產品,因為PSPad是免費的商業和政府的目的也


支援多國語言:
Bosnian, Brazilian, Catalan, 簡體中文, 繁體中文, Croatian, Czech, German, English, French, Galician, Greek, Hungarian, Indonesian, Italian, Japanese, Kurdish, Malay, Nederlands, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Serbian, Finnish, Swedish, Turkish, Ukrainian

支援編輯多種程式語言格式:
C++, Cobol, MS-Dos batch, CSS, Forth, Fortran, FoxPro, HTML, XHTML, INI, Inno Setup, Java, JavaScript, KixStart, Object Pascal, Perl, PHP, Python, RSS, SQL, TCL/TK, Unix ShellScript, VBScript, Visual Basic, X86 assembler 和其他120種以上 語言,提供高亮度顯示

官網:
http://www.pspad.com/
下載頁:
http://www.pspad.com/en/download.php

2008年10月27日 星期一

簡單說明傅立葉轉換(Fourier Transform)

讀過通訊的人,都應該知道傅立葉轉換(Fourier Transform),這是必學的一個公式

簡單快速來說明這個公式的用途,不用太多的公式把人搞暈了,其他網站說明都一長串公式數字的

就是把在時域上的圖形訊號,透過Fourier transform公式,算出頻域上的圖形訊號

就是知道時域,想知道頻域資訊,就要透過傅立葉轉換,才知道圖長什麼樣子

要是知道頻域,想知道時域資訊,就要透過反傅立葉轉換,就可以了

下圖,就是一些最常看到的訊號,左邊是時域的圖示,右邊是經過傅立葉轉換後的,也可用反傅立葉轉換回時域

簡單一句,傅立葉轉換的物理意義是:透過Fourier Transform,把時域和頻域互相轉換,取得想要的資訊

2008年10月2日 星期四

Perl使用 mail::sendmail MIME::Base64

最近要需要把server上的一些資訊
每天定時的E-mail到指定信箱

是管理員看倒是還好
但是是長官有要看,就要用HTML的mail格式了

HTML還要插入圖片,這下就不是那麼簡單了

努力了幾天,可以找到幾個套件,合併使用,可以達到我要的目的

用來把文字編碼成Base64的套件 MIME::Base64;
郵件寄送套件 Mail::Sendmail;

注意同顏色的變數,要一樣的才會插入圖片生效
而且最好用outlook收件才會有效果

#!/usr/bin/perl

use MIME::QuotedPrint;
use HTML::Entities;
use Mail::Sendmail 0.75; # doesn't work with v. 0.74!
use Mysql;
use MIME::Base64;

# MYSQL CONFIG VARIABLES
$host = "localhost";
$database = "useracc";
$tablename = "acc";
$user = "bird";
$pw = "12345";

# PERL MYSQL 建立連線()
$connect = Mysql->connect($host, $database, $user, $pw);

# SELECT DB 選擇資料庫
$connect->selectdb($database);

$myquery = "SELECT * FROM $tablename";

# EXECUTE THE QUERY 對連線下指令
$execute = $connect->query($myquery);

#取回得到的資料放入變數 $retnumber
my $retnumber = $execute->numrows();

#SQL CLOSE
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#使用localtime()取得現在時間
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime(time);

#年份要加上1900才是公元
$year=$year+1900;
#月份要加上1才正確
$mon=$mon+1;

#開始要預先編輯html的內容放入變數
my $html="$year 年 $mon 月 $mday 日 $hour : $min
";
$html=$html."$tablename 現在有$retnumber 筆資料
";

#使用. 符號合併 字串

#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ FILE encode64
#放入附件前,要先把圖檔作編碼為base64
open(FILE, "/home/eth0-day.png") or die "$!";
while (read(FILE, $buf, 60*57)) {
$ee= encode_base64($buf);
$ff =$ff.$ee;
}
close FILE;
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ FILE encode64

#=================== mail資訊
%mail = (
from => 'report@domain.com',
to => 'you@domain.com',
subject => "XXX Server $year/$mon/$mday $hour:$min Report",
);
#=================== mail資訊end

#一些標準標籤設定宣告一下
$boundary = "====" . time() . "====";
$boundary = '--'.$boundary;
$mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\"";

$file = $^X; # This is the perl executable

open (F, $file) or die "Cannot read $file: $!";
binmode F; undef $/;
$mail{body} = encode_base64();
close F;

#---------------------------------- 真正編輯mail標頭及內容
$mail{body} = << END_OF_BODY;
$boundary Content-Type: text/html;
charset="UTF-8" Content-Transfer-Encoding: quoted-printable

$html
< src=""cid:eth0-day.png>

$boundary
Content-Type: image/png;
name="eth0-day.png"
Content-Transfer-Encoding: base64
Content-ID: <656020898@300920332-0c65>
Content-Description:
Content-Location: eth0-day.png"

$ff

$boundary--
END_OF_BODY

#---------------------------------- 真正編輯mail標頭及內容 結束


#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 使用MAIL::SENDMAIL 寄出郵件
sendmail(%mail) || print "Error: $Mail::Sendmail::error\n";

2008年8月25日 星期一

mysql + php 使用utf-8

很多人在使用mysql和php作網頁程式的撰寫

但同時想使用utf-8編碼

但這三樣東西合在一起,就會給很多人產生很多煩惱

就是寫入Datebases的資料和讀出來的資料都變成亂碼了

倒地要怎麼作,才能完完全全的把我想要的國際碼utf-8完整寫入datebases和完整讀出來呢

我在過去也是因為這個問題研究了很久,找了很多資料

現在有心得分享給大家

主要要三個條件同時成立,才能有完整寫入和讀取的效果

1.MySQL資料庫裡的Datebases、Tables和欄位在建立時,必須要是utf8_bin的文字校對屬性
2.php網頁文件的內文必須儲存成utf-8格式,及html的utf-8宣告
3.IIS或Apache 跟Mysql之間連線要使用UTF-8

以上三點是很必要的,我來一點一點說吧

1.MYSQL文字校對:

先對所需要存放資料的mysql資料庫格式作個改變
如已經建立的Datebases,就可以下指令變更資料庫格式 (以照你的環境變更藍色字體的資料庫名稱)
ALTER DATABASE `datebases_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

變更datebases 之後,就要對tables作變更了 (以照你的環境變更藍色字體的表格名稱)
ALTER TABLE `tables_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ROW_FORMAT = DYNAMIC

再之後要變更你的儲存格為utf-8了 (以照你的環境變更藍色字體的欄位名稱) 例子為變更account的欄位
ALTER TABLE `datebases_name`.`tables_name` CHANGE `account` `account` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

*注意:欄位的屬性跟可不可以下
CHARACTER SET utf8 COLLATE utf8_bin有關,比如int、smallint等,變成utf8會沒什麼意義,所以要注意欄位的特性

2.就是php的文件格式
以很多種編輯軟體來說,當你在存檔時,可以選擇UTF-8,以記事本來說,另存新檔就有UTF-8格式可選擇


其他的編輯軟體,也都要這樣改變文件格式,以我知道的FrontPage 2003、Pspad等都有支援utf-8

3.文件內文的語法
先說html吧,至少要下一行
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
這行是告知連線上來的瀏覽器,網頁內容是使用UTF-8編碼的

再來在PHP的內文加上這三行,告知PHP Apache跟mysql連線要資料時,是使用utf-8

mysql_query("SET CHARACTER_SET_CLIENT=utf8"); //第二行
mysql_query("SET CHARACTER_SET_RESULTS=utf8"); //第三行
?>

Google Analytics