在网上找了好久大多是用photoshop实现的方法。有无编程算法实现各种特效字吗?

解决方案 »

  1.   

    1。输出空心字体:procedure TForm1.Button1Click(Sender: TObject);
    begin
      Canvas.Font.Name := 'Times New Roman'; //这里的字体一定要是TrueType Font
      Canvas.Font.size := 72;
      Canvas.Font.style := [fsItalic,fsBold];
      beginpath(canvas.handle); //开始捕获 Canvas上绘制的轮廓
        SetBkMode( Canvas.Handle, TRANSPARENT );
        canvas.TextOut(20,40,'Hello');
      endpath(canvas.handle); //结束捕获  Canvas.Pen.Color := clred;
      StrokePath(canvas.handle); //将捕获的轮廓用当前的Pen画到Canvas上
    end;2。用字体开透明窟窿:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      canvas.Font.Name := 'Times New Roman';
      canvas.Font.size := 72;
      canvas.Font.style := [fsItalic,fsBold];
      beginpath(canvas.handle);
        SetBkMode(Canvas.Handle, TRANSPARENT ); //试验一下不用这行语句,会得到很有意思的结果
        canvas.Polygon([Point(0,0),Point(Width,0),
                        Point(Width,Height),Point(0,Height),
                        Point(0,0)]); //试验不用该语句看看结果如何
        canvas.TextOut(20,40,'Hello');
      endpath(canvas.handle);  SetWindowRgn( Handle, PathToRegion(canvas.Handle), true );
    end;procedure TForm1.Button1Click(Sender: TObject);
     Var
      MyMsg : String;
      TextW : Integer;
    begin
    Image1.Canvas.Font.Style := [fsItalic, fsBold];
    Image1.Canvas.Brush.Style := bsClear;
    Image1.Canvas.Font.Name := 'Arial Rounded MT Bold';
    Image1.Canvas.Font.Size := 32;
     MyMsg := Edit1.Text;
     TextW := Image1.Width div 2 - (Image1.Canvas.TextWidth(MyMsg) div 2);
    With Image1.Canvas Do
     Begin
      Font.Color := clBlack;
      TextOut(TextW, 10, MyMsg);
      Font.Color := clGray;
      TextOut(TextW - 1, 9, MyMsg);
      Font.Color := clGray;
      TextOut(TextW - 2, 8, MyMsg);
      Font.Color := clSilver;
      TextOut(TextW - 3, 7, MyMsg);
      Font.Color := clSilver;
      TextOut(TextW - 4, 6, MyMsg);
      Font.Color := clRed;
      TextOut(TextW - 5, 5, MyMsg);
     End;
    end; 
      

  2.   

    myling(阿德) :
        两个字错开是勾边字,不是阴影字。阴影跟勾边不是同回事。
       gz