|
다른건 잘 모르겠고요...
StretchDIBits(Image2->Canvas->Brush->Handle, 0, 0, 1, 256, 0, 0, 1, 256, pBarBits, &bi, DIB_RGB_COLORS, SRCCOPY);
에서 일단 Image2->Canvas->Brush->Handle 는 Image2->Canvas->Handle 로 하셔야 합니다.
툴툴툴 님이 쓰신 글 :
: 안녕하세요~ 좋은 주말이네요~ ㅡㅡ;
:
: StretchDIBis를 이용해서 화면에 간단한 RGB색상을 표시하려고 합니다.
:
: VC++에서는 잘 되는데 뭐가 문제인지 전혀 모르겠네요.. .
:
: BYTE *pBits = new BYTE[256*3];
:
: for()
: {
: pBits에 값을 채우고
: }
:
: BITMAPINFO bi;
: bi.bmiHeader.biSize = 256;
: bi.bmiHeader.biWidth = 1;
: bi.bmiHeader.biHeight = 256;
: bi.bmiHeader.biPlanes = 1;
: bi.bmiHeader.biBitCount = 24;
: bi.bmiHeader.biCompression = BI_RGB;
: bi.bmiHeader.biSizeImage = 256*3;
: bi.bmiHeader.biXPelsPerMeter = 0;
: bi.bmiHeader.biYPelsPerMeter = 0;
: bi.bmiHeader.biClrUsed = 0;
: bi.bmiHeader.biClrImportant = NULL;
:
: 해서 비트맵헤더에 정보를 채우고...
:
: StretchDIBits(Image2->Canvas->Brush->Handle, 0, 0, 1, 256, 0, 0, 1, 256, pBarBits, &bi, DIB_RGB_COLORS, SRCCOPY);
:
: 요렇게 그리는데요...
:
: 어떤 방법을 써도 안되네요.
:
:
: /*
: TMemoryStream *pMyStream = new TMemoryStream();
:
: pMyStream->WriteBuffer(pBits , 3*256);
: pBitmap->LoadFromStream(pMyStream);
:
: // Image2->Canvas->Brush->Bitmap = pBitmap;
: Image2->Canvas->Draw(0, 0, pBitmap);
: */
: 이 방법도 써보고...
:
: 화면에 하얗게 나올뿐이네요...
:
: 어디가 잘못된건지 Borland C++ 고수님들의 조언 좀 얻고 싶습니다.
|