delphi 给字加边的又一个算法,有源代码

来源:互联网 发布:大淘宝客那里找 编辑:程序博客网 时间:2024/05/21 22:38
原理很简单,遍历每个像素,找到字的颜色判断上下左右是否不是字,如果不是则加上边界

没啥说的看源码

procedure TForm1.Button7Click(Sender: TObject);
var tc : TCanvas;
    i, j : integer;
    color : TColor;
    egcolor : TColor;
begin
  tc := Label2.Canvas;   //Label2上面必须有字,而且是黑色的
  egcolor := RGB(0, 255, 0);
  for i := 1 to Label2.Width - 2 do
    for j := 1 to Label2.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;
原创粉丝点击