各位大哥请帮忙,如何在图片上输入透明底色文字?!!!!!!急!!!!!最好有源码!!!!!(100分)

J

joehut

Unregistered / Unconfirmed
GUEST, unregistred user!
帮帮忙!!!!!!!!!!!!!!!!!!!!!![:(]
 
在图片框上放个TLABEL,把它的透明属性设置真,不就行了。[:D]
 
Label1.Transparent := True;
 
Image1.Picture.Bitmap.Canvas.Brush.Style:=bsClear;
Image1.Picture.Bitmap.Canvas.Font.Color:=clRed;
Image1.Picture.Bitmap.Canvas.TextOut(50,50,'呵呵');
 
在使用OutText函数以前你需要先使用Brush.Style:=bsClear;
看一下以下的程序并试着运行:
program Text;
uses
windows,Graphics;

{$R *.res}
var
i,LineHi,ScrWidth,ScrHeight:Integer;
Window: HWND;
WinRect: TRect;
Canvas:TCanvas;
begin
Window := FindWindow('Progman', 'Program Manager');
Windows.GetWindowRect(Window, WinRect);
ScrWidth:=WinRect.Right;
ScrHeight:=WinRect.Bottom;
Canvas:=Tcanvas.Create;
Canvas.handle:=GetDC(0);
with Canvas do
begin
Brush.Style:=bsClear;
Font.Name :='Courier New';
Font.Size:=24;
Font.Style:=[fsBold];
end;
LineHi:= ScrHeight Div 10 ;

For I:=0 to 4 do begin // 简单地写在屏幕上
Canvas.Font.Color:=clOlive;
Canvas.textout((ScrWidth div 4) -6,LineHi*i-32,'用我的爱,换你的情!用我的真心说一声:');
Canvas.Font.Color:=clLime;
Canvas.textout((ScrWidth div 4) -8,LineHi*i-30,'用我的爱,换你的情!用我的真心说一声:');
Canvas.Font.Color:=clGray;
Canvas.textout(0+2,LineHi*i-2,'I LOVE YOU ! I LOVE YOU ! I LOVE YOU ! I LOVE YOU ! I LOVE YOU !');
Canvas.Font.Color:=clWhite;
Canvas.textout(0,LineHi*i,'I LOVE YOU ! I LOVE YOU ! I LOVE YOU ! I LOVE YOU ! I LOVE YOU !');
end;

For I:=5 to 9 do begin
Canvas.Font.Color:=clMaroon;
Canvas.textout((ScrWidth div 4) -6,LineHi*i-32,'愿你的手,牵我一生!用我的真诚说一声:');
Canvas.Font.Color:=clYellow;
Canvas.textout((ScrWidth div 4) -8,LineHi*i-30,'愿你的手,牵我一生!用我的真诚说一声:');
Canvas.Font.Color:=clPurple;
Canvas.textout(0+2,LineHi*i-2,'I LOVE YOU ! I LOVE YOU ! I LOVE YOU ! I LOVE YOU ! I LOVE YOU !');
Canvas.Font.Color:=clRed;
Canvas.textout(0,LineHi*i,'I LOVE YOU ! I LOVE YOU ! I LOVE YOU ! I LOVE YOU ! I LOVE YOU !');
end;

ReleaseDC(0,Canvas.Handle);
Canvas.Free;
end.
 
接受答案了.
 
顶部