Resim yapmaya başladığımda, tüm arka planı renklendirir, yani yalnızca beyaz lekeleri boyamalı. Uygulama ekran görüntüsü aşağıdaki gibidir. Android Paint'i kullanarak, sadece arkaplan çekilebilir [Panda] üzerinde beyaz lekeler boyamak ve diğer renkleri atlamak istiyorum.Android Paint ile arka plan görüntüsü renk tespiti
onDraw()
fonksiyonudur:
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, paint);
canvas.drawPath(circlePath, circlePaint);
for (Pair<Path,Integer> path_clr : path_color_list){
paint.setColor(path_clr.second);
canvas.drawPath(path_clr.first, paint);
}
for (Pair<Path,Integer> path_clr : circular_path_color_list){
circlePaint.setColor(path_clr.second);
canvas.drawPath(path_clr.first, paint);
}
}
ve onTouchEvent
fonksiyonudur:
public boolean onTouchEvent(MotionEvent event) {
float pointX = event.getX();
float pointY = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
circlePath.reset();
path.moveTo(pointX, pointY);
return true;
case MotionEvent.ACTION_MOVE:
path.lineTo(pointX, pointY);
circlePath.reset();
circlePath.addCircle(pointX, pointY, 10, Path.Direction.CW);
break;
case MotionEvent.ACTION_UP:
circlePath.reset();
break;
default:
return false;
}
postInvalidate();
return true;
}
Üzgünüz ama Bitmap maskeleme hakkında herhangi bir bilgiye sahip değiliz. Bitmap whiteAreas'ın hangi değerle başlaması gerekir? 'Bitmap vuruşları' ile aynı sorun –
whiteAreas ismin neye benzediğini gösteriyor - panda görüntüsü kadar büyük bir bitmap, şeffaf arka planlı ve göbek ve panda yüzü çizilmiş. vuruşları, bir kullanıcı tarafından yapılan çizimleri tutmak için bitmap kullanılır. Sizin için bir görüntü hazırladım – Zielony
Tekrar özür dilerim, ama şu noktayı alamıyorum :(, demek istediğim, maske ve konturları "view" sınıfından bitmapler oluşturabilir miyim? Arka plan, resim yapıyoruz, bir sınıf –