paint benzeri bir proje yapıyoruz da.. eraser tool olmazsa olmaz. lakin resimler background olarak atılabiliyor programa. bu durumda sanki background tek renkmiş gibi background rengi neyse o renkle boyama yapılarak eraser tool'un işlevi karşılanamaz. öyleyse ne yapılmalıdır ki şık bir eraser tool'umuz olsun, çizim alanı üzerindeki şekiller, boyalar arkaya background olarak resim atılmış halde olsa bile silinebilsin? teşekkürler.




 

iki tane iki boyutlu array tut.
ilk array arkaplan resmi bg[][], ikinci array ise uzerine ciziktirdigin olsun fg[][].

soyle render edebilirsin kabaca, tabi bunu dinamik olarak fg degistiginde de yapabilirsin.

for(i....)
_for(j...)
__if(fg[i][j]!=null)
___render[i][j]=fg[i][j]
__else
___render[i][j]=bg[i][j]

anlayacagin uzere eraser tool'un fg[i][j] bolgesini null yapiyor.

4ever

4ever'in dedigine geliyor ama tahminimce yapmaniz gereken sey bir layer mantigi. photoshop'ta falan var. boylece hem projeniz daha moduler, daha profesyonel olur hem de silme islemi sikintisiz olur. mesela iki layer'iniz var, ikisi de opak, biri altta biri ustte. usttekinden bir silme islemi yaptiginda uzerinden gectigin pikseller saydam degeri alir, saydam bir piksel icin de deger olarak alt layer'in o noktadaki pikselinin degerini tanimlarsin.
layer'lari ustuste tutmak icin aklima bir stack yapisi geliyor, ama pek tabi duz bir dizi de olabilir.

samfisher
1

mobil görünümden çık