- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi 给字加边的又一个算法
procedure TForm1.Button2Click(Sender: TObject);
var tc : TCanvas;
i, j : integer;
color : TColor;
egcolor : TColor;
begin
tc := Label1.Canvas; //Label2上面必须有字,而且是黑色的
egcolor := RGB(0, 255, 0);
for i := 1 to Label1.Width - 2 do
for j := 1 to Label1.Height - 2 do
begin
color := tc.Pixels[i, j];
if color = 0 then //找到了黑色字
begin
//判断边界
//左上边
if tc.Pixels[i - 1, j - 1] <> color then
tc.Pixels[i - 1, j - 1] := egcolor;
//右上
if tc.Pixels[i + 1, j - 1] <> color then
tc.Pixels[i + 1, j - 1] := egcolor;
//左下
if tc.Pixels[i - 1, j + 1] <> color then
tc.Pixels[i - 1, j + 1] := egcolor;
//右下
if tc.Pixels[i + 1, j + 1] <> color then
tc.Pixels[i + 1, j + 1] := egcolor;
end;
end;
end;