|
밑에 데이터 같이 RGB 값으로된 데이터를 읽어서 한픽셀씩 for문돌려서 찍은 그림을 말하는거죠 ^^
R = Data[0];
G = Data[1];
B = Data[2];
Img->Picture->Bitmap->Canvas->Brush->Color = (TColor)RGB(R, G, B);
Img->Picture->Bitmap->Canvas->Rectangle(0, 0, 1, 1);
BitBlt(Image->Picture->Bitmap->Canvas->Handle, x, y, 1, 1,
Img->Picture->Bitmap->Canvas->Handle, 1, 1, SRCCOPY);
Julien 님이 쓰신 글 :
: 아래 예제는...그냥 TImage 안넣고 폼에 그림을 바로 뿌린 겁니다.
: Transparent 가 갑자기 생각이 안나서요.
: Canvas만 Image1->Picture->Bitmap->Canvas로 바꾸면 똑같이 될 겁니다.
:
: 근데 픽셀로 찍은 그림...이라는 게 무엇인가요? ^^
:
: 공부하는이 님이 쓰신 글 :
: : 아 배경을 투명하게 하는 옵션이군요
: : 이렇게 해도 되네요
: : 염치 없지만 픽셀로 찍은 그림과 불러내서 찍은 그림의 차이점은 알수 없을까요?
: : 이유도 궁금해서요 ^^
: : Julien 님이 쓰신 글 :
: : : Transparent 라는 속성이 있습니다.
: : : Graphics::TBitmap *bmp1 = new Graphics::TBitmap;
: : : bmp1->LoadFromFile(ExtractFilePath(Application->ExeName) + "a.bmp");
: : :
: : : Graphics::TBitmap *bmp2 = new Graphics::TBitmap;
: : : bmp2->LoadFromFile(ExtractFilePath(Application->ExeName) + "b.bmp");
: : : bmp2->Transparent = true;
: : :
: : : this->Canvas->Draw(0, 0, bmp1);
: : : this->Canvas->Draw(0, 0, bmp2);
: : :
: : : delete bmp1;
: : : delete bmp2;
: : :
: : : 공부하는이 님이 쓰신 글 :
: : : : a그림은 데이터를 픽셀로 찍어서 만든 그림입니다.
: : : : b는 글자만 덮어 씌울 그림입니다.
: : : : c는 프로그램으로 덮은건데 그런 모양이 나옵니다.
: : : :
: : : : a그림을 그냥 그림 파일로 읽으면 상관없이 글자만 잘 써지는데
: : : : 픽셀로 찍은 그림은 검은색 배경까지 써지는 이유를 모르겠습니다.
: : : : 어떤이유가 있을까요?
: : : : 그럼 즐프 되세요
: : : :
: : : : 소스는 다음과 같이 했습니다.
: : : : b그림을 마스크 해서 글자만 만들고
: : : : MaskImg->Picture->Bitmap->Mask(clBlack);
: : : :
: : : : StretchBlt(Image1->Picture->Bitmap->Canvas->Handle, 20, 40, MaskImg->Width, MaskImg->Height,
: : : : MaskImg->Picture->Bitmap->Canvas->Handle, 0, 0, MaskImg->Width, MaskImg->Height, SRCAND);
: : : : StretchBlt(Image1->Picture->Bitmap->Canvas->Handle, 20, 40, Image2->Width, Image2->Height,
: : : : Image2->Picture->Bitmap->Canvas->Handle, 0, 0, Image2->Width, Image2->Height, SRCINVERT);
|