簡體   English   中英

VB6可以將圖像另存為JPEG嗎?

[英]Can VB6 save an image as a JPEG?

注意:我不是VB6程序員-我是負責生產中使用的應用程序的Android程序員,並且我的同事負責與我的Android設備對話的VB6程序。

過去,我們的VB6程序將Microsoft .bmps發送到Android設備,但是現在我們要將平板電腦添加到我們的產品列表中,並且想要發送更大的圖像以利用平板電腦的額外房地產,我們發現.bmp是太大而阻塞了網絡。

最終,我們用.Net替代了舊的VB6產品,但是直到我們這樣做之前,VB6還是無法通過編程將位圖轉換為JPEG嗎? 我的同事沒有意識到這一點,但我一直發現SO在我的域(Android,.Net)中非常有用,所以我想在這里嘗試VB6問題。

2002年,Microsoft發布了Windows®圖像采集自動化庫v2.0工具:用於VB和腳本的圖像采集和處理組件

這可以接受來自文件或字節數組的.BMP甚至是Windows 24位原始像素位圖(加上寬度和高度),並將它們轉換為JPEG,從而產生文件或字節數組的結果。

該庫是Windows現代版本的一部分,但可以安裝到WinXP(SP1或更高版本)中。

簡單的文件到文件示例:

Dim ImgF As WIA.ImageFile
Dim ImgP As WIA.ImageProcess

Set ImgF = New WIA.ImageFile
ImgF.LoadFile "Zapotec.bmp"
Set ImgP = New WIA.ImageProcess
With ImgP
    .Filters.Add .FilterInfos!Convert.FilterID
    .Filters.Item(1).Properties!FormatID.Value = wiaFormatJPEG
    .Filters.Item(1).Properties!Quality.Value = 70
    Set ImgF = .Apply(ImgF)
End With
ImgF.SaveFile "Zapotec.jpg"

上面的MarkJ鏈接值得一看,但是這里還有另外三個要考慮的想法:

FreeImage是一個開源庫; 有一個下載文件,其中包含可以由VB6使用的DLL。

VB幫助程序鏈接指向通過VB.NET DLL通過VB6使用.NET的文章。

最后,MVPS鏈接是VB6代碼,可使用GDI +將圖像保存為JPG。

是的,它可以! 在Planet源代碼中查看此傑出貢獻

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=50065&lngWId=1

Bob77的出色回答使我步入正軌,但是下載鏈接不再可用。 從Vista開始,Microsoft已在Windows中包含WIA支持。

有關完整的詳細信息,請參見Microsoft的Windows圖像采集自動化層頁面

我發現需要對代碼片段的初始部分進行調整,以引用捆綁的WIA類,該類現在稱為WIACtl。

Dim ImgF As WIACtl.ImageFile
Dim ImgP As WIACtl.ImageProcess

Set ImgF = New WIACtl.ImageFile
ImgF.LoadFile "Zapotec.bmp"
Set ImgP = New WIACtl.ImageProcess

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM