20 Kasım 2017 Pazartesi

Canvas Sınıfı

Giriş
Android Canvas sınıfı Java'daki awt Canvas sınıfına benzer. Java'daki sınıf şu isim alanı içinde
java.awt.Canvas
Android Canvas ise şu isim alanı içinde
android.graphics.Canvas
Kullanım
View metodundan kalıtan bir sınıfın onDraw metodunda kullanılır. Şöyle yaparız.
 @Override
protected void onDraw(Canvas canvas) {
  super.onDraw(canvas);
  ...
  canvas.drawCircle(x, y, radius, paint);
}
constructor - Bitmap
Şöyle yaparız.
Bitmap bmp = ...;
Canvas canvas = new Canvas(bmp);
drawArc metodu- rect + startAngle + sweepAngle + useCenter + paint
Şöyle yaparız.
RectF rectF = new RectF();
rectF.set(50,20,900,480);

canvas.drawArc(rectF, 135, 180, false, paint);
drawCircle metodu
Elimizde şöyle bir kod olsun.
Paint paint = ...;
int radius, x, y = ...;
Şöyle yaparız.
canvas.drawCircle(x, y, radius, paint);
drawColor metodu
Canvas'ın görünen kısmını belirtilen renk ile doldurur. Şöyle yaparız.
canvas.drawColor(Color.WHITE);
drawLine metodu
Şöyle yaparız.
Paint paint =  ...;

float beginX = ...;float beginY = ...;
float endX   = ...;float endY   = ...;
canvas.drawLine (beginX, beginY, endX, endY, paint);
Yatay çizgi için şöyle yaparız.
Paint paint = new Paint();
paint.setColor(Color.rgb(255, 153, 51));
paint.setStrokeWidth(10);
int startx = 50;
int starty = 90;
int endx = 150;
int endy = 90;
canvas.drawLine(startx, starty, endx, endy, paint);
drawPath metodu
Belirtilen path'i boya ile çizer. Şöyle yaparız.
Paint paint = ...;
Path path   = ...;
canvas.drawPath(path, paint);
drawRect metodu
Şöyle yaparız.
Rect rect = drawable.getBounds();
canvas.drawRect(rect, paint);


Hiç yorum yok:

Yorum Gönder