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ı
ve bu kesip keşke metni:
Ortaya çıkan görüntü bu olacak:
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
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ş:
İmageEdgeİnsets ile UİButton metin ve ...
Nasıl html/dikey merkezi metin bir gör...
Görüntü üzerinde Android Metin...
Görüntü ve Metin ios Upload HTTP POST ...
Entegre bir fiyat indirimi metin editö...