Article View: borland.public.cppbuilder.multimedia
Article #757Re: What wrong in this code? :(
From: Chawalit K.
Date: Mon, 18 Nov 2002 17:43
Date: Mon, 18 Nov 2002 17:43
70 lines
3187 bytes
3187 bytes
Oop! :-p
I know that what wrong is me. ha ha
this right
long cbBuffer = 320*240*3;
HRESULT hr = NULL;
byte *pBuffer = (byte*)malloc(cbBuffer);
AM_MEDIA_TYPE mt;
BITMAPINFO BmpInfo;
HBITMAP hBitmap = NULL;
hr = vcap.pGrabber->GetConnectedMediaType(&mt);
if FAILED(hr) return;
VIDEOINFOHEADER *pVideoHeader = (VIDEOINFOHEADER*)mt.pbFormat;
CopyMemory(&BmpInfo.bmiHeader, &pVideoHeader->bmiHeader,
sizeof(BITMAPINFOHEADER));
hBitmap = CreateDIBSection(0, &BmpInfo, DIB_RGB_COLORS,
(void**)&pBuffer, NULL, 0);
hr = vcap.pGrabber->GetCurrentBuffer(&cbBuffer, (long*)pBuffer);
if(FAILED(hr)) {
return;
}
Graphics::TBitmap *bmp = new Graphics::TBitmap();
bmp->Handle = hBitmap;
bmp->SaveToFile("c:\\test" + (AnsiString)aa + ".bmp");
Image1->Canvas->Draw(0,0,bmp);
delete bmp;
DeleteObject(hBitmap);
Thanks
Chawalit K.
Thailand
"Chawalit K." <q0022@softhome.net> wrote in message
news:3dd921f1@newsgroups.borland.com...
> DirectShow Case:
> I try to grabber image frame with SampleGrabber and I have array of byte.
I
> want save it to file.
> But I can see only black color in my image file.
> Please show me. What wrong in this code? :-(
>
> long cbBuffer = 320*240*3;
> HRESULT hr = NULL;
> byte *pBuffer = (byte*)malloc(cbBuffer);
> hr = vcap.pGrabber->GetCurrentBuffer(&cbBuffer, (long*)pBuffer);
> if(FAILED(hr)) {
> return;
> }
>
> AM_MEDIA_TYPE mt;
> BITMAPINFO BmpInfo;
>
> hr = vcap.pGrabber->GetConnectedMediaType(&mt);
> if FAILED(hr) return;
> VIDEOINFOHEADER *pVideoHeader = (VIDEOINFOHEADER*)mt.pbFormat;
> CopyMemory(&BmpInfo.bmiHeader, &pVideoHeader->bmiHeader,
> sizeof(BITMAPINFOHEADER));
>
> Graphics::TBitmap *bmp = new Graphics::TBitmap();
> bmp->HandleType = bmDIB;
> bmp->Handle = CreateDIBSection(0, &BmpInfo, DIB_RGB_COLORS,
> (void**)&pBuffer, NULL, 0);
> bmp->SaveToFile("c:\\test" + (AnsiString)aa + ".bmp");
>
> Chawalit K.
> Thailand
>
>
Technical Details
Message-ID:
<3dd926c9@newsgroups.borland.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-04!supernews.com!newsfeed.gamma.ru!Gamma.RU!opentransit.net!newsfeed.icl.net!newsfeed.fjserv.net!proxad.net!fr.clara.net!heighliner.fr.clara.net!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mailReferences:
<3dd921f1@newsgroups.borland.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10d0fc,6689030411e53bec X-Google-Attributes: gid10d0fc,public X-Google-ArrivalTime: 2002-11-18 10:16:01 PST From: "Chawalit K." <q0022@softhome.net> Newsgroups: borland.public.cppbuilder.multimedia References: <3dd921f1@newsgroups.borland.com> Subject: Re: What wrong in this code? :( Date: Tue, 19 Nov 2002 00:43:35 +0700 Lines: 72 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 NNTP-Posting-Host: 203.113.80.14 Message-ID: <3dd926c9@newsgroups.borland.com> X-Trace: newsgroups.borland.com 1037641417 203.113.80.14 (18 Nov 2002 09:43:37 -0800) Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-04!supernews.com!newsfeed.gamma.ru!Gamma.RU!opentransit.net!newsfeed.icl.net!newsfeed.fjserv.net!proxad.net!fr.clara.net!heighliner.fr.clara.net!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail