TBrush.Color的简单问题 (5分)

  • 主题发起人 主题发起人 TDA2822M
  • 开始时间 开始时间
T

TDA2822M

Unregistered / Unconfirmed
GUEST, unregistred user!
var
bmpScreen:TCanvas;
Bmp,Tmp:TBitmap;
begin
Bmp:=TBitmap.Create;
Bmp.LoadFromFile('D:/Back.bmp');
Form1.Canvas.StretchDraw(ClientRect,Bmp);
Canvas.Brush.Style:=bsClear;
//Canvas.Brush.Color:=clNone;//加了这句,输出的文字就不透明了。那Canvas.Brush.
//Color究竟默认是什么值来的?
Canvas.Font.Name:='宋体';
Canvas.Font.Size:=28;
Canvas.Font.Color:=clBlue;
Canvas.Font.Style:=[fsBold];
Canvas.TextOut(100,100,'你好');
Bmp.Free;

没分了。只有5分。
 

var
bmpScreen:TCanvas;
Bmp,Tmp:TBitmap;
begin
Bmp:=TBitmap.Create;
Bmp.LoadFromFile('D:/Back.bmp');
Bmp.Canvas.Brush.Style:=bsSolid;
Form1.Canvas.StretchDraw(ClientRect,Bmp);
Canvas.Brush.Style:=bsClear;
setbkmode(Form1.canvas.handle,transparent);
Canvas.Font.Name:='宋体';
Canvas.Font.Size:=28;
Canvas.Font.Color:=clBlue;
Canvas.Font.Style:=[fsBold];
Canvas.TextOut(100,100,'你好');
Bmp.Free;
 
我试过了。不是clBlack,也不是clWhite.
Canvas.Brush.Color:=clBlack和Canvas.Brush.Color:=clWhite后,
输出的文字都不透明了。
 
倒 透明的实现原理 不是在输出的文字上设置 背景色
setbkmode(Form1.canvas.handle,transparent);
 
接受答案了.
 
后退
顶部