delphi 给Label1字加边的又一个算法


本文整理自网络,侵删。

 
procedure TForm1.Button1Click(Sender: TObject);
var tc : TCanvas;
    i, j : integer;
    color : TColor;
    egcolor : TColor;
begin
  tc := Label1.Canvas;   //Label1上面必须有字,而且是黑色的
  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;

相关阅读 >>

Delphi windows 编程[16] - 添加与删除菜单项:getmenu、appendmenu、deletemenu、drawmenubar

Delphi 创建自己的定时器 定时清理内存

Delphi treeview基本用法

Delphi截图程序无窗口版

Delphi 用ado从文本文件中导入数据库的两种方法比较

Delphi 禁止关机的代码

Delphi 快捷键设置控件: thotkey

Delphi playsound()函数应用

Delphi 纯window系统api实现的ssl客户端

Delphi pagecontrol当前页可视

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...