Java Resim Üzerine Yazı Yazma

102 Kişi Okudu

import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;

public class res {
public static void main(String[] args) throws IOException {

int a = 20, b=40,c=0; // değişkenlerin tanımlanması
Image resim = new ImageIcon("C:\\Users\\civan\\Desktop\\dene.jpg").getImage(); // Konumu belirlenen resimin çekilmesi
BufferedImage bufferedImage = ImageIO.read(new File("C:\\Users\\civan\\Desktop\\dene.jpg")); // resim buffera yazıldı
BufferedImage scaledBI = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB); // bufferda resim tipi belirlendi
Graphics2D g = scaledBI.createGraphics(); // resmin üzerinde 2 boyutlu işlem yapılacak
g.setComposite(AlphaComposite.Src); // resim tarandı
g.drawImage(resim, 5, 5, bufferedImage.getWidth(), bufferedImage.getHeight(), null);
Font font= new Font("SansSerif ", Font.BOLD, 25); //yazılacak yazı tipi, büyüklüğü belirlendi
g.setFont(font); //belirlenen font g ye aktarıldı

do {
do {

Random rnd = new Random(); // rastgele bir sayı seçildi
int sayı = rnd.nextInt(33) + 1 ; // seçilen sayı 33 ile 1 arasında olsun
Color renk = new Color(sayı*1009000); // değerler dar bir aralıkta olduğu için istediğimiz sayı ile çarpıldı
g.setColor(renk); // renk parametresine aktarıldı
sayı=0; //sayı değeri 0landı
a=a+20; // a değeri 20 arttırıldı bu değer sütün bilgisidir ve yazıların alt alta yazılmasını sağlar
g.drawString("Deneme Yazısı",b,a);
System.out.println(a); // a değeri ekrana yazar
} while(a!=1000); // a değiri 1000 e ulaştığı zaman döndüden çıkar bu da alt alta 1000/20 den 50 defa yazı yazıldığını gösterir.

a=20; // a 20 ye eşitlendi sürekli artmasını önlemek için
b=b+300; // diğer sütüna kayar ve üstteki döngüye tekrar girer
c=c+1; // sağ doğru sütün arttırmak için kullanılır
}while(c!=4); // sağ doğur 4 sütün oluştuğunda çık.

System.out.println("Resim yazıldı"); // resime yazı yazıldı mesajı
g.dispose();
ImageIO.write(scaledBI, "jpg", new File("C:\\Users\\civan\\Desktop\\dene2.jpg")); // yeni resimi kaydet

}
}  

Yayınlayan

Ahmet Yasin CİVAN

Mekatronik Mühendisi, Gömülü Yazılım Geliştiricisi.