这段代码怎么转换成vb
webli 2007-05-22 09:03:24 function RenderTxt(text:string; //将要写在位图画布(CANVAS)上的文字串
bmp:Tbitmap; //目标位图
x1,y1,x2,y2:integer; //目标区域坐标(注意必须X1<X2,Y1<y2,X坐标正方向向右,Y坐标正方向向下)
LineStep:integer; //行距(注意坐标和行距都以象素为单位)
fontname:string; //所用字体名
fontsize:integer; //字体尺寸
fontcolor:Tcolor):integer; //字体颜色(注意颜色最好要用全红/全绿/全黄)
Var //返回:<=0表示有错误,>0表示目标区域最大能容纳的字符数。
Tx,Ty,i,L,fw,fh:integer;
s:string[2];
begin
result:=-1;
try
with bmp.Canvas do
begin
font.Name:=fontname;
font.Size:=fontsize;
font.Color:=fontcolor;
end;
fh:=bmp.Canvas.TextHeight('0123456789ABCxyz_Text Sample');
Tx:=x1;Ty:=y1;
i:=1;L:=length(text);
while(i<=L) do
begin
s:=copy(text,i,1);
if ord(s[1])>$A0 then s:=copy(text,i,2);
fw:=bmp.Canvas.TextWidth(s);
if Tx+fw>x2 then
begin
Tx:=x1;Ty:=Ty+fh+LineStep;
if Ty>y2 then break;
end;
Bmp.Canvas.TextOut(Tx,Ty,s);
Tx:=Tx+fw;i:=i+Length(s);
end;
result:=i;
except
else
end;
end;