Paintteki gibi tıklanan bölgeyi renkle dolduran bir araç yapmak istiyorum. Ama nasıl olabileceği konusunda pek emin değilim. Tıklanan noktadan başlayarak recursive olarak tüm pikselleri kontrol eden ve rengini değiştiren, eğer renk diğerlerinden farklıysa orada duran bir sistem yazılabilir ama bu mu yapılması gereken?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
private void calculatePointsSecondary(Bitmap bitmap,int x,int y) { addPoint(new PointF(x,y)); bitmap.setPixel(x, y, color); if (bitmap.getPixel(x+1, y) == natColor) calculatePointsSecondary(bitmap, x+1, y); if (bitmap.getPixel(x-1, y) == natColor) calculatePointsSecondary(bitmap, x-1, y); if (bitmap.getPixel(x, y+1) == natColor) calculatePointsSecondary(bitmap, x, y+1); if (bitmap.getPixel(x, y-1) == natColor) calculatePointsSecondary(bitmap, x, y-1); }
Burada kodun yaptığı resmi alıp seçilen noktanın her yönüne ikincil metodu göndererek eğer seçilen noktayla aynı renkte ise listeye eklemek değilse devam ettirmemek. Boyaması farklı bir methodla yapılıyor ancak sorun burada. Başka yolu olan ya da bunu sorunu çözebilecek varsa yardım bekliyorum.
Edit: Methoddaki hatayı buldum ve düzelttim ancak birşey değişmedi. İlk halinde sonsuz döngüye giriyordu.
methodunuzda dikkat edilmesi gereken önemli bir nokta daha var : bir resim düşünün sol üst köşesi beyaz bölüm, geri kalanı farklı renkler, desenler.. sağ alt köşeside beyaz bölüm. siz sağ alt köşeye tıkladığınız zaman, sadece o bölgenin boyanması gerekir, sol üst beyaz olarak kalmalıdır.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.