Piksel rgb alma

JDK, Visual J++, Servlet ile ilgili herşey
Forum kuralları
Resim Forum Kurallarını Okumadan Mesaj Atmayın
Forum Kurallarını okumak için tıklayınız.
Resim Soracağınız soru zaten varsa? Arama yapmadan mesaj atmayın.
Forumlarda arama yapmak için tıklayınız. Dokümanlarda veya bağlantılarda arama yapmak için tıklayınız.

Piksel rgb alma

Mesajgönderen iceman havuc » Pzr Oca 10, 2010 11:09 am

Aşşağıda bir tane fonksiyonum var bu fonksiyon png dosyasından istenen pixelinin rgb değerini alıyor.

Benim problemim bu fonksiyonu ana program içerisinde çok fazla çağırıyorum ve pixel kontrolu yapıyorum her seferinde dosyayı diskten bufferimage yüklediği için oyun yavaşlıyor.
Sadece dosyayı nasıl bir kere bufferimage yükler ve kontrolu her seferinde tekrar yükleme olmadan yapabilirim? yada başka cözümü varmıdır?

public boolean pikselkontrol(int tt1,int tt2) throws IOException{


File file= new File("destroyer.png");
BufferedImage image1 = ImageIO.read(file);

int clr= image1.getRGB(tt1,tt2);
int red = (clr & 0x00ff0000) >> 16;
int green = (clr & 0x0000ff00) >> 8;
int blue = clr & 0x000000ff;
if ( red == 255 || green == 255 || blue ==255)
{
return true;
}
else
{
return false;
}


}
iceman havuc
 
Mesajlar: 90
Kayıt: Pzr Tem 06, 2003 11:00 pm

Piksel rgb alma

Sponsor

Sponsor
 

Re: Piksel rgb alma

Mesajgönderen Sultan Zavrak » Çrş Oca 27, 2010 9:37 pm

ilk önce dosyayı diskten oku. image1 değişkenini global olarak tanımlayayıp classın constructorunda diskten okuma yapabilirsin.

Kod: Tümünü seç
File file= new File("destroyer.png");
BufferedImage image1 = ImageIO.read(file);


Sonra okuduğun imagedeki istediğin pikseli kontrol et.

Kod: Tümünü seç
public boolean pikselkontrol(BufferedImage image1, int tt1,int tt2) {

int clr= image1.getRGB(tt1,tt2);
int red = (clr & 0x00ff0000) >> 16;
int green = (clr & 0x0000ff00) >> 8;
int blue = clr & 0x000000ff;
if ( red == 255 || green == 255 || blue ==255)
{
    return true;
}
else
{
   return false;
}
}
Sultan Zavrak
 
Mesajlar: 1
Kayıt: Cmt Şub 12, 2005 1:00 am


Dön Java

Ana Sayfa | Üyelik İşlemleri | Döküman Ekleyin | Bağlantılar | Forumlar | Arama
Arkadaşıma Öner | Ziyaretçi Defteri | Bize Ulaşın  | Site Haritası | Reklam

© Programlama.com 1998 - 2006. Her Hakkı Saklıdır. Lütfen Anlaşma Metnini Görmek için Burayı Tıklayın
Developed and Designed by Programlama.com
Programlama.com is a vertical internet portal for Turkish software developers to exchange their knowledge about software development,design,programing and information systems.
Click here for more information in English.