Java Code:
import java.awt.AlphaComposite;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class TextRendering extends JPanel {
  public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
        RenderingHints.VALUE_ANTIALIAS_ON);

    Dimension d = getSize();
    AffineTransform ct = AffineTransform.getTranslateInstance(d.width / 2,
        d.height * 3 / 4);
    g2.transform(ct);

    String s = "www.java2s.com";
    Font f = new Font("Serif", Font.PLAIN, 128);
    g2.setFont(f);

    int count = 6;
    for (int i = 1; i <= count; i++) {
      AffineTransform oldTransform = g2.getTransform();

      float ratio = (float) i / (float) count;
      g2.transform(AffineTransform.getRotateInstance(Math.PI
          * (ratio - 1.0f)));
      float alpha = ((i == count) ? 1.0f : ratio / 3);
      g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
          alpha));
      g2.drawString(s, 0, 0);

      g2.setTransform(oldTransform);
    }
  }

  public static void main(String[] args) {
    JFrame f = new JFrame();
    f.getContentPane().add(new TextRendering());
    f.setSize(800, 800);
    f.show();
  }
}