- 用 java.awt.image.BufferedImage 繪製不規則圖形
//產生一個200x200的BufferedImage BufferedImage img = new BufferedImage(200, 200, BufferedImage.TYPE_BYTE_GRAY); //產生一個正三角形與倒三角形,組合成一個六芒星的形狀 int[] aX = {100, 0, 200, 100}; int[] aY = {0, 150, 150, 0}; int[] bX = {100, 0, 200, 100}; int[] bY = {200, 50, 50, 200}; img.getGraphics().fillPolygon(aX, aY, 4); img.getGraphics().fillPolygon(bX, bY, 4); //強制將圖形以黑白兩色呈現, 這樣就可以將不規則圖形成為遮罩圖 Image mask = Image.getInstance(img, null, true); //將繪製的圖形做一次Invert, 不然會變成顯示六芒星以外的圖 mask.setInverted(true); mask.makeMask(); //讀取欲顯示的圖片 Image image = Image.getInstance("c:\\image.jpg"); //設定該圖片的遮罩圖 image.setImageMask(mask); //設定該圖片在pdf版面中的位置 image.setAbsolutePosition(100, 100); //最後透過PdfContentByte的assImage將圖片加入即可
2007/06/15
[Java] iText遮罩圖設計
2007/05/29
PHP+IIS+MySQL
環境: WindowsXP Professional, IIS5.1, MySQL5.0.x, PHP5.5.2
前置步驟:
設定:
環境變數部分: 新增一個系統變數, 名稱為 PHPRC, 值為 c:\php
以上設定完畢後, 需重開機讓設定生效.
之後可以寫一個測試的 php 檔, 內容為 <?php phpinfo(); ?> .
若設定無誤, 該 php 網頁會顯示此網站的設定, 可檢查 Loaded Configuration File 或 extension_dir 的值是否為目前的設定.
若有設定不符, 可再修改 c:\php\php.ini, 因為有些設定預設是被註解掉, 拿掉分號後並修改儲存此檔案, 重新啟動 IIS 即可生效.
前置步驟:
- 安裝 MySQL.
- 下載 PHP5.5.2 的壓縮檔 (ex:PHP 5.2.2 zip package)
網址: http://www.php.net/downloads.php - 解壓縮至 c:\php
設定:
- IIS部分:
- 新增一個 ISAPI 篩選器:
IIS –> 預設的網站按右鍵 –> 內容 –> ISAPI 篩選器 –> 新增 –> 篩選器名稱任意填, 執行檔選擇 C:\php\php5isapi.dll - 加入 .php 的副檔名處理:
在網站或虛擬目錄上按右鍵 –> 內容 –> 按下右下角的設定按鈕 –> 對應的 Tab 中按下新增 –> 執行檔選 C:\php\php5isapi.dll, 副檔名輸入 .php
- 新增一個 ISAPI 篩選器:
- PHP設定部分:
- 開始 –> 執行 –> 輸入 regedit –> 開啟登錄編輯程式:
- 新增機碼: HKEY_LOCAL_MACHINE\SOFTWARE\PHP\5
- 在 HKEY_LOCAL_MACHINE\SOFTWARE\PHP\5 下新增一個字串值: 名稱: IniFilePath, 值: c:\php\
(*此字串值的 c:\php\ , 結尾一定要加 "\", 否則以 phpinfo() 測試時會出現 No input file specified.)
- 修改 c:\php\php.ini, 修改 extension_dir 的值為 c:\php\ext, 將 extension=php_mysql.dll 前的分號 (;) 拿掉(如此才能使用 mysql 的函式庫).
(*將分號刪除即可使用 extension 的函式庫)
- 開始 –> 執行 –> 輸入 regedit –> 開啟登錄編輯程式:
環境變數部分: 新增一個系統變數, 名稱為 PHPRC, 值為 c:\php
以上設定完畢後, 需重開機讓設定生效.
之後可以寫一個測試的 php 檔, 內容為 <?php phpinfo(); ?> .
若設定無誤, 該 php 網頁會顯示此網站的設定, 可檢查 Loaded Configuration File 或 extension_dir 的值是否為目前的設定.
若有設定不符, 可再修改 c:\php\php.ini, 因為有些設定預設是被註解掉, 拿掉分號後並修改儲存此檔案, 重新啟動 IIS 即可生效.
2007/05/28
常用的Javascript-trim&strlen
- trim: 去除字串前後的空白字元
s.replace(/^\s*|\s*$/g, "");
- 計算字串長度:
- 中文以 2bytes 計算: (將中文以 ** 取代後再計算字元長度, 缺點是只有中文在此範圍內可被搜尋取代)
s.replace(/[\u4e00-\u9fa5]/g,"**").length
- 將雙字元(全型,日文等)皆以 2bytes 計算:
s.replace(/[^\x00-\xff]/g,"**").length
- 中文以 2bytes 計算: (將中文以 ** 取代後再計算字元長度, 缺點是只有中文在此範圍內可被搜尋取代)
2006/12/04
[Java]Tomcat與IIS的sticky session設定
- 設定IIS:
至 IIS 管理員中 -> 點選安裝了 Tomcat ISAPI 的網站 -> 點選"內容" -> 選擇"主目錄"這個頁籤 -> 按下"設定" -> 選擇"選項"頁籤 -> 取消"啟用作業狀態"這個項目. - 修改 ISAPI 所讀取的 workers.properties 檔:
- 加入以下的內容:
worker.loadbalancer.sticky_session=1 worker.Tomcat1.socket_keepalive=1 worker.Tomcat2.socket_keepalive=1
- mark lbfactor:
#worker.Tomcat1.lbfactor=1
#worker.Tomcat2.lbfactor=2
- 加入以下的內容:
2006/12/01
[Java]Tomcat與Resin的ISAPI NLB設定
- Tomcat: (以 /jsp-examples 為例)
- workers.properties 的內容如下:
#定一個名為 loadbalancer 的 worker, 並將 type 定為 lb(load-balancing)
worker.list = loadbalancer
worker.loadbalancer.type = lb
#設定 loadbalancer 底下的 workers (ex:Tomcat1, Tomcat2)
worker.loadbalancer.balanced_workers = Tomcat1,Tomcat2
#將 Tomcat1 與 Tomcat2 這兩個 worker 的 type 定為 ajp13
worker.Tomcat1.type=ajp13
worker.Tomcat2.type=ajp13
#分別設定 Tomcat1 與 Tomcat2 的 IP, ajp13 的 Port 以及 load-balancing 的 factor
#ajp13 的 Port 值可在 Tomcat 的 server.xml 中找到並修改
# lbfactor 的值越大,表示該 Server 的 loading 越重
worker.Tomcat1.host=192.168.1.10
worker.Tomcat1.port=8009
worker.Tomcat1.lbfactor=1
worker.Tomcat2.host=192.168.1.20
worker.Tomcat2.port=7009
worker.Tomcat2.lbfactor=2
#設定要導至 Tomcat 的 URI
worker.remote.mount=/jsp-examples /jsp-examples/*
- workers.properties 的內容如下:
訂閱:
文章 (Atom)