• 如何將bmp轉成JPG

這是透過網路上的一個免費的程式庫Nviewlib.dll來作 程式如下


Option Explicit
'***********32bit的NViewLib.dll有以下8個API*/***************
Declare Function Load_JPG Lib "NViewLib.dll" (ByVal filename As String, _
ByVal a As Integer) As Long
'/*用以讀取JPG格式的檔案 但在VB中可直接讀取JPG格式的檔案 _
就省略了 用法和NViewLibLoad這個API類似 _
filename傳入檔案名稱 _
而a 如果你想讀取檔案時有進度表 便傳入1 否則傳入0*/

Declare Function Load_GIF Lib "NViewLib.dll" (ByVal filename As String, _
ByVal a As Integer) As Long
'/*用以讀取GIF格式的檔案 但在VB中可直接讀取GIF格式的檔案 _
就省略了 用法和NViewLibLoad這個API類似 _
filename傳入檔案名稱 _
而a 如果你想讀取檔案時有進度表 便傳入1 否則傳入0*/

Declare Function NViewLibLoad Lib "NViewLib.dll" (ByVal filename As String, _
ByVal a As Integer) As Long
'/*能讀取JPG, JIF, GIF, BMP, DIB, RLE, TGA & PCX格式的圖檔 _
可直接取代前面兩種API _
filename傳入檔案名稱 _
而a 如果你想讀取檔案時有進度表 便傳入1 否則傳入0*/

Declare Function NViewLibSaveAsJPG Lib "NViewLib.dll" (ByVal Quality As Integer, _
ByVal filename As String) As Integer
'/*將檔案存成JPG格式 Quality介於0~100之間 值越大 畫質越高 _
相對檔案大小也越大 filename是檔案名稱*/

Declare Function NViewLibSetLanguage Lib "NViewLib.dll" ( _
ByVal Language As String) As Integer
'/*設定語系 但沒有中文 乾脆不要管他 可設定的有English _
German ,Dutch,Portuguese,Spanish,Japanese,Italian,French.*/
Declare Sub NViewLibSetCustomLang Lib "NViewLib.dll" ( _
ByVal pProgress As String, ByVal pError As String, _
ByVal pLoad As String, ByVal pErrLoad As String, _
ByVal pWarning As String)
'/*若你找不到想要用的語系時用的 一般來講不用管他*/

Declare Function GetWidth Lib "NViewLib.dll" () As Integer
Declare Function GetHeight Lib "NViewLib.dll" () As Integer
Public Sub ConvBmpToJpg(sFileName As String, dFileName As String, lJpegQuality As Integer, ShowProgress As Integer)
Dim a As Long
a = NViewLibLoad(sFileName, ShowProgress)
a = NViewLibSaveAsJPG(lJpegQuality, dFileName)
End Sub
要轉換時只要這樣
ConvPicToJpg "來源檔", "目的檔", 壓縮比, 是否顯示進度
壓縮比越大 圖形越接近原來的圖形值介於1~100
例如
  • ConvPicToJpg "C:\ty.pcx", "C:\c.jpg", 80, 0
    即是將C:\ty.pcx轉成C:\c.jpg 用80的壓縮比 不顯示進度表
  • ConvPicToJpg "C:\12.bmp", "C:\ho.jpg", 20, 1
    即是將C:\12.bmp轉成C:\ho.jpg 用20的壓縮比 顯示進度表

如果想知道更多使用方法 可以下載以下範例

conJpg.imp


  • 文件出處

  Honey

VB心得筆記歡迎各位的指教,如果您有任何文章或資料願意提供給我們的,請來信到VBNote

如果對本站有任何建議,歡迎來信給Honey,我們會盡快給您答覆