2012-07-03 6 views
2

참고 : 저는 VB6 프로그래머가 아닙니다. 저는 제조에 사용되는 앱을 담당하는 Android 프로그래머이며 Android 기기와 통신하는 VB6 프로그램을 담당하는 동료가 있습니다.VB6에서 이미지를 JPEG로 저장할 수 있습니까?

이전에는 VB6 프로그램이 Microsoft .bmp를 Android 기기로 보냈지 만 이제는 제품 목록에 태블릿을 추가하고 더 큰 이미지를 보내 태블릿의 여분의 부동산을 활용하려고합니다. 그 .bmp는 너무 커서 네트워크를 막을 수 있습니다.

결국 우리는 이전 VB6 제품을 .Net 버전으로 대체하려고합니다.하지만 VB6에서 프로그래밍 방식으로 비트 맵을 JPEG로 변환 할 수있는 방법이 있습니까? 내 동료는 하나도 모르고 있지만 항상 S.O를 찾았습니다. 내 도메인 (안드로이드,. 닷넷)에서 매우 유용하므로 여기에 VB6 질문을 시도 할 것이라고 생각했습니다.

+1

시도 [이 질문] (http://stackoverflow.com/questions/4517205/how-to-convert-bmp-to-jpg-in-vb6) 또는 [이 질문] (HTTP : // 스택 오버플로.com/questions/1333901/visual-basic-6-image-conversion-from-gif-to-jpg-or-tif) – MarkJ

답변

4

2002 년 Microsoft는 Windows® Image Acquisition Automation Library v2.0 Tool: Image acquisition and manipulation component for VB and scripting을 발표했습니다.

파일 또는 바이트 배열에서 .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" 
0

MarkJ의 링크는 위의 고려 여기에 세 가지 다른 생각되어보고 가치가 있지만 :

Fre을 eImage는 오픈 소스 라이브러리입니다. VB6에서 사용할 수있는 DLL이 포함 된 다운로드가 있습니다.

VB Helper 링크는 VB.NET DLL을 통해 VB6에서 .NET을 사용하기위한 문서입니다.

마지막으로 MVPS 링크는 GDI +를 사용하여 JPG에 이미지를 저장하는 VB6 코드입니다.

0

Bob77의 훌륭한 대답은 바른 길에 나를 넣어 없지만, 다운로드 링크는 더 이상 사용할 수 없습니다. Vista 이후 Microsoft는 Windows 내에 WIA 지원을 포함 시켰습니다.

자세한 내용은 Microsoft's Windows Image Acquisition Automation Layer page을 참조하십시오.

이제 WIACtl이라는 번들 된 WIA 클래스를 참조하기 위해 코드 조각의 초기 부분을 조정해야한다는 것을 알았습니다.

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

Set ImgF = New WIACtl.ImageFile 
ImgF.LoadFile "Zapotec.bmp" 
Set ImgP = New WIACtl.ImageProcess 
관련 문제