|
폼에 판넬을 올려놓고 판넬DC값을 받아서 그림을 그렸습니다....
폰트는 모두 같은데 왜 모양의 차이가 나는 걸까요.... ??지금 쓰여지고 있는글도
돋보기로 확대해보면 자우대칭 두께도 일정한데....
그리고 라벨도 버튼도 그런데 유독 판넬,제목표시줄.... 은 왜 그럴까요 ????
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString str="안녕하세요";
TCanvas *TempCanvas = new TCanvas;
FPixOnColor = clLime;
FPixOffColor = clGreen;
TempCanvas->Handle = GetDC(Panel1->Handle);
TempCanvas->Pen->Color = clBlack;
TempCanvas->Font->Size = Panel1->Font->Size;
Canvas->Font->Size = Panel1->Font->Size;
Graphics::TBitmap* BitMap;
BitMap = new Graphics::TBitmap();
BitMap->Canvas->Font->Name = Font->Name;
BitMap->Canvas->Font->Size = Panel1->Font->Size;
BitMap->Canvas->Font->Color = FPixOnColor;
BitMap->Canvas->Brush->Color = FPixOffColor;
BitMap->Width = 400;
BitMap->Height = 200;
BitMap->Canvas->TextOutA( 20, 20,str);
StretchBlt(TempCanvas->Handle, 0, 0, BitMap->Width, BitMap->Height,
BitMap->Canvas->Handle, 0, 0, BitMap->Width, BitMap->Height, cmSrcCopy);
//----------------------------------
TempCanvas->Brush->Color = FPixOffColor;
TempCanvas->Pen->Color = clBlack;
int i = 0,FPixSize =2;
while(i < Panel1->Width)
{
TempCanvas->MoveTo(i, 0);
TempCanvas->LineTo(i, Panel1->Height);
i = i + FPixSize;
}
i = 0;
while(i < Panel1->Height)
{
TempCanvas->MoveTo(0, i);
TempCanvas->LineTo(Panel1->Width, i);
i = i + FPixSize;
}
}
|