캔버스를 사용하여 그림을 그리는 방법

Jaydeep

저는 Android에서 현재 캔버스를 배우고 있으며 아래 유형의 그림을 만들고 싶습니다. 나는 그것을 검색했지만 적절한 예를 얻을 수 없습니다.

여기에 이미지 설명 입력

누구든지 나를 도울 수 있습니까? 어떻게 만들 수 있습니까?

Chirag Jain

먼저이 코드를 참조하십시오 .

public class CustomView extends View {

    public static final int NO_OF_VERTICAL_CIRCLES = 5;
    public static final int NO_OF_HORIZONTAL_CIRCLES = 4;

    public static final float RADIUS = 60f;

    private Paint mPaintImage;

    private RectF[] rectangles = new RectF[NO_OF_HORIZONTAL_CIRCLES
            * NO_OF_VERTICAL_CIRCLES];

    // Just creating a view for drawing
    public CustomView(Context context) {
        super(context);
        init();
    }

    public CustomView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public CustomView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    private void init() {
        // This is paint for your drawing
        mPaintImage = new Paint();

        mPaintImage.setAntiAlias(true);
        mPaintImage.setFilterBitmap(true);
        mPaintImage.setDither(true);
        // color for circle
        mPaintImage.setColor(Color.RED);
        // fill style
        mPaintImage.setStyle(Paint.Style.FILL);

    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {

        // Account for padding
        float xpad = (float) (getPaddingLeft() + getPaddingRight());
        float ypad = (float) (getPaddingTop() + getPaddingBottom());
        // getting area for drawing you can also get it using getWidth() and getHeight()
        float ww = (float) w - xpad;
        float hh = (float) h - ypad;

        Creating Rectangle for drawing your circles
        for (short i = 0; i < NO_OF_HORIZONTAL_CIRCLES; i++) {
            for (short j = 0; j < NO_OF_VERTICAL_CIRCLES; j++) {
                // calculating horizontal centers
                float horizontalCenter = RADIUS + i * (ww - RADIUS * 2)
                        / (NO_OF_HORIZONTAL_CIRCLES - 1);
                // calculating vertical centers
                float verticalCenter = RADIUS + j * (hh - RADIUS * 2)
                        / (NO_OF_VERTICAL_CIRCLES - 1);

                rectangles[j + NO_OF_VERTICAL_CIRCLES * i] = new RectF(
                        horizontalCenter - RADIUS, verticalCenter - RADIUS,
                        horizontalCenter + RADIUS, verticalCenter + RADIUS);

            }
        }

        super.onSizeChanged(w, h, oldw, oldh);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        // Here drawing circles
        for (RectF rect : rectangles) {
            canvas.drawCircle(rect.centerX(), rect.centerY(), RADIUS,
                    mPaintImage);
        }
        super.onDraw(canvas);
    }

여기서 내가 한 일은 그리드에서 sreen을 나눈 다음 중심을 찾아 그에 따라 원을 그리는 것입니다.

비슷한 방법으로 비트 맵, 직사각형을 그릴 수 있습니다.

빈 비트 맵에 그릴 수도 있습니다.

도움이 되길 바랍니다.

PS (스크린 샷) ::

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

drawImage ()를 사용하여 캔버스에 그림을 그리는 방법은 무엇입니까?

분류에서Dev

Android에서 캔버스를 사용하여 연동 원을 그리는 방법

분류에서Dev

클래스를 사용하여 tkinter 캔버스에 다각형을 그리는 방법은 무엇입니까?

분류에서Dev

SharedPreference를 사용하여 캔버스에 문자열을 그리는 방법은 무엇입니까?

분류에서Dev

캔버스 그림을 복제 / 일반화하는 방법

분류에서Dev

itext pdf를 사용하여 PDF 캔버스에 경로를 그리는 방법은 무엇입니까?

분류에서Dev

Toplevel () Tkinter에서 캔버스를 사용하여 버튼을 만드는 방법

분류에서Dev

여러 뷰를 결합하고 Android 캔버스에 그리는 방법

분류에서Dev

캔버스를 사용하여 그림자가 삽입 된 구멍을 이미지로 자르는 방법은 무엇입니까?

분류에서Dev

캔버스에 액자 사각형을 그리는 방법?

분류에서Dev

HTML5 캔버스를 사용하여 도로 선을 만드는 방법

분류에서Dev

JavaScript-캔버스에 그림을 그리고 마우스를 따라가는 이미지를 얻는 방법

분류에서Dev

HTML5 캔버스 태그를 사용하여 비디오를 표시하는 방법

분류에서Dev

C ++를 사용하여 프로그램의 캔버스 크기를 알아내는 방법이 있습니까?

분류에서Dev

캔버스와 자바 스크립트를 사용하여 Spraling 텍스트를 그리는 방법은 무엇입니까?

분류에서Dev

터치 스크린을 사용하여 그리는 방법?

분류에서Dev

matplotlib 패치를 사용하여 달력을 그리는 방법

분류에서Dev

pureimage를 사용하여 선을 그리는 방법?

분류에서Dev

Matlab을 사용하여 타원체를 그리는 방법

분류에서Dev

버튼을 사용하여 Fabric.js 캔버스에서 이미지를 제거하는 방법

분류에서Dev

커서를 사용하여 캔버스를 지우는 방법

분류에서Dev

캔버스에서 세 점을 통과하는 곡선을 그리는 방법?

분류에서Dev

JS를 사용하여 캔버스에서 캐릭터의 일부를 그리는 방법은 무엇입니까?

분류에서Dev

HTML5 캔버스를 사용하여 다단계 원형 차트를 그리는 방법은 무엇입니까?

분류에서Dev

JavaScript를 사용하여 첨부 된 그림과 같은 다중 스택, 다 대다 관계 다이어그램을 그리는 방법은 무엇입니까?

분류에서Dev

GPU를 사용하여 캔버스에 그리기

분류에서Dev

단추를 사용하여 캔버스에 그리기

분류에서Dev

캔버스를 사용하여 PlotGrid에서 Delphi 그리기 선

분류에서Dev

팬더 컷을 사용하여 히스토그램을 그리는 방법

Related 관련 기사

  1. 1

    drawImage ()를 사용하여 캔버스에 그림을 그리는 방법은 무엇입니까?

  2. 2

    Android에서 캔버스를 사용하여 연동 원을 그리는 방법

  3. 3

    클래스를 사용하여 tkinter 캔버스에 다각형을 그리는 방법은 무엇입니까?

  4. 4

    SharedPreference를 사용하여 캔버스에 문자열을 그리는 방법은 무엇입니까?

  5. 5

    캔버스 그림을 복제 / 일반화하는 방법

  6. 6

    itext pdf를 사용하여 PDF 캔버스에 경로를 그리는 방법은 무엇입니까?

  7. 7

    Toplevel () Tkinter에서 캔버스를 사용하여 버튼을 만드는 방법

  8. 8

    여러 뷰를 결합하고 Android 캔버스에 그리는 방법

  9. 9

    캔버스를 사용하여 그림자가 삽입 된 구멍을 이미지로 자르는 방법은 무엇입니까?

  10. 10

    캔버스에 액자 사각형을 그리는 방법?

  11. 11

    HTML5 캔버스를 사용하여 도로 선을 만드는 방법

  12. 12

    JavaScript-캔버스에 그림을 그리고 마우스를 따라가는 이미지를 얻는 방법

  13. 13

    HTML5 캔버스 태그를 사용하여 비디오를 표시하는 방법

  14. 14

    C ++를 사용하여 프로그램의 캔버스 크기를 알아내는 방법이 있습니까?

  15. 15

    캔버스와 자바 스크립트를 사용하여 Spraling 텍스트를 그리는 방법은 무엇입니까?

  16. 16

    터치 스크린을 사용하여 그리는 방법?

  17. 17

    matplotlib 패치를 사용하여 달력을 그리는 방법

  18. 18

    pureimage를 사용하여 선을 그리는 방법?

  19. 19

    Matlab을 사용하여 타원체를 그리는 방법

  20. 20

    버튼을 사용하여 Fabric.js 캔버스에서 이미지를 제거하는 방법

  21. 21

    커서를 사용하여 캔버스를 지우는 방법

  22. 22

    캔버스에서 세 점을 통과하는 곡선을 그리는 방법?

  23. 23

    JS를 사용하여 캔버스에서 캐릭터의 일부를 그리는 방법은 무엇입니까?

  24. 24

    HTML5 캔버스를 사용하여 다단계 원형 차트를 그리는 방법은 무엇입니까?

  25. 25

    JavaScript를 사용하여 첨부 된 그림과 같은 다중 스택, 다 대다 관계 다이어그램을 그리는 방법은 무엇입니까?

  26. 26

    GPU를 사용하여 캔버스에 그리기

  27. 27

    단추를 사용하여 캔버스에 그리기

  28. 28

    캔버스를 사용하여 PlotGrid에서 Delphi 그리기 선

  29. 29

    팬더 컷을 사용하여 히스토그램을 그리는 방법

뜨겁다태그

보관