SORU
9 HAZİRAN 2011, PERŞEMBE


Metin şeklinde görüntü biçilmiş kaftan

Başka bir görüntüde metin şeklinde bir resim kesmek istiyorum. En iyi görüntü gösterildiği sanırım.

Bu bir kedi fotoğrafı

Photo of a nice cat

ve bu kesip keşke metni:

Text to cut out of the cat photo

Ortaya çıkan görüntü bu olacak:

Resulting cut-out of the cat photo

Görüntü her zaman şeffaf bir arka plan ile siyah olacak, ve elde edilen cut-out metin arka planı şeffaf olmalıdır da. Hem giriş görüntüleri de aynı boyutta olacaktır.

CEVAP
9 HAZİRAN 2011, PERŞEMBE


Cat text

import java.awt.*;
import java.awt.font.*;
import java.awt.image.BufferedImage;
import java.awt.geom.Rectangle2D;
import javax.imageio.ImageIO;
import java.net.URL;
import java.io.File;

class PictureText {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://i.stack.imgur.com/Nqf3H.jpg");
        BufferedImage originalImage = ImageIO.read(url);
        final BufferedImage textImage = new BufferedImage(
            originalImage.getWidth(),
            originalImage.getHeight(),
            BufferedImage.TYPE_INT_ARGB);
        Graphics2D g = textImage.createGraphics();
        FontRenderContext frc = g.getFontRenderContext();
        Font font = new Font(Font.SANS_SERIF, Font.BOLD, 250);
        GlyphVector gv = font.createGlyphVector(frc, "Cat");
        Rectangle2D box = gv.getVisualBounds();
        int xOff = 25 (int)-box.getX();
        int yOff = 80 (int)-box.getY();
        Shape shape = gv.getOutline(xOff,yOff);
        g.setClip(shape);
        g.drawImage(originalImage,0,0,null);
        g.setClip(null);
        g.setStroke(new BasicStroke(2f));
        g.setColor(Color.BLACK);
        g.setRenderingHint(
            RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
        g.draw(shape);

        g.dispose();

        File file = new File("cat-text.png");
        ImageIO.write(textImage,"png",file);
        Desktop.getDesktop().open(file);
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alexander Johnson

    Alexander Jo

    26 Temmuz 2008
  • optionalinfo

    optionalinfo

    29 EKİM 2005
  • Tips On Linux

    Tips On Linu

    26 Temmuz 2008