Paint’e Çizilen Resmi Not Defterine Çizdirmek

683 Kişi Okudu

Java Programı Robot kütüphanesi kullanılarak hazırlamış olan bir proje burada ekran üzerindeki renkler okunarak not defterine “x” ve ” ” karakterleri atılmıştır. Bir anlamda iki eksende çalışan bir sistem simüle edilmeye çalışılmıştır.

Java programı önce fare imleci üzerindeki rengi okuyor daha sonra bu rengi algıladığı yerlere “x” karakteri atıyor. İşlem tamamen renk okuma üzerine çalışıyor. Ekranın belirli bir bölgesinde çalışan program için bu bölge artırıla bilir.

 

Java Dosya Klasör Yolu Öğrenme

2.094 Kişi Okudu

Aşağıda bulunan kod lar çalıştırıldığı zaman bilinmeyen bir bilgisayar üzerinde dosya dizini ulaşma veya dosya kaydetme işlemleri gerçekleştirilir.

public class pc_folder {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("İşletim Sisitemi		     :"+System.getProperty("os.name"));
		System.out.println("Kullanıcı Adı   		     :"+System.getProperty("user.name")); 		
		System.out.println("Kullanıcı Adı Ev Dizini          :"+System.getProperty("user.home"));
		System.out.println("Java Programını Çalıştığı Dizin  :"+System.getProperty("user.dir"));

		
		
	}

}


Seri Porttan Okunan Veriyi Mail Gönderme

568 Kişi Okudu

Aşağıdaki kodlar sayesinden seri port üzerinden veri okuyup okunan veri mail olarak gönderilmektedir.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import gnu.io.CommPortIdentifier; 
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent; 
import gnu.io.SerialPortEventListener; 
import java.util.Enumeration;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import com.sun.corba.se.spi.orbutil.fsm.Input;


public class SerialTest implements SerialPortEventListener {
	SerialPort serialPort;
        /** The port we're normally going to use. */
	private static final String PORT_NAMES[] = { "COM2", // Windows
};
	/**
	* A BufferedReader which will be fed by a InputStreamReader 
	* converting the bytes into characters 
	* making the displayed results codepage independent
	*/
	private BufferedReader input;
	
	public static String a;
	/** The output stream to the port */
	private OutputStream output;
	/** Milliseconds to block while waiting for port open */
	private static final int TIME_OUT = 2000;
	/** Default bits per second for COM port. */
	private static final int DATA_RATE = 9600;

	public void initialize() {

		CommPortIdentifier portId = null;
		Enumeration portEnum = CommPortIdentifier.getPortIdentifiers();

		//First, Find an instance of serial port as set in PORT_NAMES.
		while (portEnum.hasMoreElements()) {
			CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement();
			
			for (String portName : PORT_NAMES) {
				
				if (currPortId.getName().equals(portName))
				{
					portId = currPortId;
					System.out.println(currPortId.getName());
					break;
				}
			}
		}
		if (portId == null) {
			System.out.println("Could not find COM port.");
			return;
		}

		try {
			// open serial port, and use class name for the appName.
			serialPort = (SerialPort) portId.open(this.getClass().getName(),
					TIME_OUT);

			// set port parameters
			serialPort.setSerialPortParams(DATA_RATE,
					SerialPort.DATABITS_8,
					SerialPort.STOPBITS_1,
					SerialPort.PARITY_NONE);

			// open the streams
			input = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
			output = serialPort.getOutputStream();

			// add event listeners
			serialPort.addEventListener(this);
			serialPort.notifyOnDataAvailable(true);
		} catch (Exception e) {
			System.err.println(e.toString());
		}
	}

	/**
	 * This should be called when you stop using the port.
	 * This will prevent port locking on platforms like Linux.
	 */
	public synchronized void close() {
		if (serialPort != null) {
			serialPort.removeEventListener();
			serialPort.close();
		}
	}

	/**
	 * Handle an event on the serial port. Read the data and print it.
	 */
	public synchronized void serialEvent(SerialPortEvent oEvent) {
		
		if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
			try {
				String inputLine=input.readLine();
				System.out.println(inputLine);
				
				char[] gelen = (char[]) inputLine.toCharArray();				
				for (int i=0 ; i<gelen.length;i++ ){="" output.write(gelen[i]);="" }="" gonder("civan.ahmetyasin@gmail.com",inputline,"sensör="" algılandı");="" system.out.println("mail="" gönderildi");="" a="inputLine;" catch="" (exception="" e)="" {="" system.err.println(e.tostring());="" ignore="" all="" the="" other="" eventtypes,="" but="" you="" should="" consider="" ones.="" private="" static="" void="" gonder(string="" tomail,="" string="" note,="" ad){="" final="" username=" Mail Gönderecek Mail Adres " ;="" password=" Sizin Mail Adresinizin Şifresi " properties="" props="new" properties();="" props.put("mail.smtp.auth",="" "true");="" props.put("mail.smtp.starttls.enable",="" props.put("mail.smtp.host",="" "smtp.gmail.com");="" props.put("mail.smtp.port",="" "587");="" session="" new="" javax.mail.authenticator()="" protected="" passwordauthentication="" getpasswordauthentication()="" return="" passwordauthentication(username,="" password);="" });="" try="" message="" mimemessage(session);="" message.setfrom(new="" internetaddress("="" info@microsoft.com"));="" message.setrecipients(message.recipienttype.to,internetaddress.parse(tomail));="" message.setsubject(ad);="" message.settext(note);="" transport.send(message);="" (messagingexception="" throw="" runtimeexception(e);="" public="" main(string[]="" args)="" throws="" exception="" serialtest="" main="new" serialtest();="" main.initialize();="" thread="" t="new" thread()="" run()="" following="" line="" will="" keep="" this="" app="" alive="" for="" 1000="" seconds,="" waiting="" events="" to="" occur="" and="" responding="" them="" (printing="" incoming="" messages="" console).="" {thread.sleep(1000000);}="" (interruptedexception="" ie)="" {}="" };="" t.start();="" system.out.println("started");="" <="" pre=""></gelen.length;i++>

Java Resim Üzerine Yazı Yazma

1.029 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

}
}