Renkler bir katkı maddesi olacak şekilde bir Tuval üzerine grafik boyamak istiyorum.
Alfa ile nasıl boya yapılır?
Ama bunun yerine, bu alın: Örneğin, ben bu üretmek isteyen alfa hem nasıl etkileşimde
Not yarısı beyaz, yarısı siyah arka plan kasıtlı olduğunu, sadece görmek için arka planlar. Bu çalışmayı arka plana sahip olmaktan mutluluk duyacağım. İşte benim kodudur:
public class VennColorsActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
class VennView extends View {
public VennView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int alpha = 60, val = 255;
int ar = Color.argb(alpha, val, 0, 0);
int ag = Color.argb(alpha, 0, val, 0);
int ab = Color.argb(alpha, 0, 0, val);
float w = canvas.getWidth();
float h = canvas.getHeight();
float cx = w/2f;
float cy = h/2;
float r = w/5;
float tx = (float) (r * Math.cos(30 * Math.PI/180));
float ty = (float) (r * Math.sin(30 * Math.PI/180));
float expand = 1.5f;
Paint paint = new Paint();
paint.setColor(Color.WHITE);
canvas.drawRect(new Rect(0, 0, (int) w, (int) (h/2)), paint);
PorterDuff.Mode mode = android.graphics.PorterDuff.Mode.ADD;
paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setColorFilter(new PorterDuffColorFilter(ar, mode));
paint.setColor(ar);
canvas.drawCircle(cx, cy - r, expand * r, paint);
paint.setColorFilter(new PorterDuffColorFilter(ag, mode));
paint.setColor(ag);
canvas.drawCircle(cx - tx, cy + ty, expand * r, paint);
paint.setColorFilter(new PorterDuffColorFilter(ab, mode));
paint.setColor(ab);
canvas.drawCircle(cx + tx, cy + ty, expand * r, paint);
}
}
this.setContentView(new VennView(this));
}
}
biri bana Android grafikleri katkı renkleriyle resim nasıl anlamanıza yardımcı misiniz?
Çok teşekkürler, Pavel; ve çok hızlı! –
BTW, SDK sürüm 8 ile uyumlu PorterDuff.Mode.ADD için bir alternatif biliyor musunuz? Dokümantasyon, ADD'nin 8 sürümünde eklendiğini ama yalan olduğunu söylüyor. Gerçekten, 11 sürümünde tanıtıldı ve widget'ımı yüklemesine izin verilmemesi gereken bazı eski cihazlarda çöküyordu. –
Bu harika!Bu tekniği birbiriyle çakışan bitmap'lere uygulayabilir misiniz? –