🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.multimedia
Article #757

Re: What wrong in this code? :(

#757
From: Chawalit K.
Date: Mon, 18 Nov 2002 17:43
70 lines
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-mail
References: <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