![]() |
引用:
感謝版大分享此觀念,那我若想更動像素的話,只需要將sDPI的部份改成pixels就可以了嗎?還是整個語法要重寫?謝謝。 PS:我用另一個方式問,有沒有辦法讓它載入後不改變像素的方式?因為我第一次做的時候是沒問題的,但當時有個問題是 原本一張5M多的檔案載入合併後存檔變成40幾M,後來一直詢問改良變成這樣,但已經忘了那時候到底是什麼方式使它不會 改變原本的像素,謝謝。 |
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 按下網頁的 ![]() |
引用:
|
所有時間均為台北時間。現在的時間是 11:41 PM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *