2009-08-04, 04:12 PM | #16 (permalink) | |
註冊會員
|
引用:
感謝版大分享此觀念,那我若想更動像素的話,只需要將sDPI的部份改成pixels就可以了嗎?還是整個語法要重寫?謝謝。 PS:我用另一個方式問,有沒有辦法讓它載入後不改變像素的方式?因為我第一次做的時候是沒問題的,但當時有個問題是 原本一張5M多的檔案載入合併後存檔變成40幾M,後來一直詢問改良變成這樣,但已經忘了那時候到底是什麼方式使它不會 改變原本的像素,謝謝。 |
|
送花文章: 25,
|
2009-08-04, 10:01 PM | #17 (permalink) |
管理版主
|
BMP 為未壓縮圖檔
所以一張是 5MB的話 八張就等於5*8=40MB 其實可以用兩種算式來自動換算 DPI ChangeFileDPI .FileName, (Picture1.ScaleWidth / 5.516) / 15 '因為1 Pixels = 15 Twip 或 ChangeFileDPI .FileName, (Picture1.ScaleHeight / 3.546) / 15 '因為1 Pixels = 15 Twip 原理: 兩吋大頭照: 3.5cm*4.5cm = 1.379in*1.773in (1cm = 0.394in) 並連四張*串連兩張 兩吋照 = 5.516in*3.546in 如果 Picture1.ScaleMode = 3(Pixels) 5.516in=Picture1.ScaleWidth /iDPI 3.546in=Picture1.ScaleHeight /iDPI 假設 水平dpi = 垂直dpi iDPI = Picture1.ScaleWidth / 5.516 = Picture1.ScaleHeight / 3.546 所以 正確的方法是先調整你的 image 之Width、Height 使他長寬比更接近 4.5/3.5 之比例 並將 image間的空隙 保留出來 因為洗出來時要有裁切的保留空間 還有一點 當 Picture1.ScaleMode = 1(Twip) Picture1.Appearance = 0(平面) 時 Picture1.ScaleWidth 與 Picture1.Width 數值是相同的 如果 Picture1.Appearance = 1(立體) Picture1.Width 會比 Picture1.ScaleWidth 多出一些 所以 你的程式 Picture1.Width = Image1(0).Width * 4 Picture1.Height = Image1(0).Height * 2 應該改成 Picture1.Width = Image1(0).Width * 4 + (Picture1.Width - Picture1.ScaleWidth) '+ 一點空隙 Picture1.Height = Image1(0).Height * 2 + (Picture1.Height - Picture1.ScaleHeight) '+ 一點空隙 所以幫你大概改了些 (image的長、寬 及一些程式碼修飾) http://touch.moehome.jp/up_ssize/dow...901.rar/attach 按下網頁的 按鈕(旁邊填 mini)即可下載 此帖於 2009-08-05 03:07 PM 被 mini 編輯. 原因: 修正 |
送花文章: 2013,
|
向 mini 送花的會員:
|
羅迪 (2009-09-19)
感謝您發表一篇好文章 |
|
|
相似的主題 | ||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
疑問 - VB6.0載入圖檔自動排列 | chung1206 | 程式語言討論區 | 11 | 2009-07-31 08:50 PM |
PhotoImpact 8可以做到圖片放大但是解析度不變嗎 | 80704 | 一般電腦疑難討論區 | 4 | 2003-08-09 10:18 AM |
請問大大用什麼軟體可以讓圖片放大但是解析度不變?? | 80704 | 一般電腦疑難討論區 | 5 | 2003-07-27 10:23 PM |
請問製作網頁上的照片所限制的大小或解析度應為?? | carrie_tsg | 一般電腦疑難討論區 | 4 | 2003-04-28 05:05 PM |
解析度調整到1024*768,但是字與圖片都太小 | Taggen | 硬體疑難使用問題討論區 | 4 | 2003-02-05 05:35 PM |