Sobes.tech
Junior

Ի՞նչ է Canvas-ը Android-ում։

sobes.tech AI

Պատասխան AI-ից

Canvas-ը Android-ում ներկայացնում է նկարելու մակերես։ Դա օբյեկտ է, որը տրամադրում է մեթոդներ գրաֆիկական պրիմիտիվների (պետական, գծեր, ուղղանկյուններ, շրջաններ, տեքստեր, պատկերներ) նկարելու համար bitmap (Bitmap) կամ այլ մակերեսի վրա:

Հիմնական հասկացությունները՝

  • Նկարում: Canvas տրամադրում է API՝ նկարելու գործողություններ կատարելու համար, ինչպիսիք են drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap():
  • Կոորդինատային համակարգ: Օգտագործում է երկչափ կոորդինատային համակարգ, որտեղ (0,0) կետը գտնվում է վերին ձախ անկյունում:
  • Կարգավիճակ: Canvas ունի կարգավիճակ, որը ներառում է ընթացիկ փոխակերպումները (շարժում, մասշտաբավորում, պտտում) և կտրում (clip) տարածքը, որոնք կարելի է պահպանել և վերականգնել (save() և restore()):
  • Paint: Paint օբյեկտները օգտագործվում են նկարելու ոճը սահմանելու համար՝ գույն, գծի հաստություն, ստվեր, տառատեսակներ և այլն։ Canvas օգտագործում է ընթացիկ Paint-ը յուրաքանչյուր նկարելու գործողության համար:

Օրինակ՝ օգտագործում է հատուկ View-ում:

// onDraw() մեթոդի ներսում
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // Ստեղծել `Paint` օբյեկտ
    Paint paint = new Paint();
    paint.setColor(Color.RED); // Կանաչ գույն սահմանել

    // Նկարում ուղղանկյուն
    canvas.drawRect(10, 10, 100, 100, paint);

    // Նկարում շրջան
    paint.setColor(Color.BLUE);
    canvas.drawCircle(150, 150, 50, paint);

    // Տեքստ սահմանել
    paint.setColor(Color.BLACK);
    paint.setTextSize(30);
    canvas.drawText("Hello, Canvas!", 10, 200, paint);
}

Canvas-ը սերտորեն կապված է View օբյեկտների հետ։ Երբ համակարգը նկարում է View, այն ստեղծում է Canvas օբյեկտ և փոխանցում այն ViewonDraw() մեթոդին։ Այնուհետև, View-ը օգտագործում է այս Canvas-ը իր բովանդակությունը նկարելու համար։