개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.11 15:40

ImagickDraw::annotation 함수 사용 시 오류 발생

목록
  • DDD전문가 8일 전 2025.06.11 15:40
  • 5
    1
ImagickDraw::annotation 함수 오류 발생

안녕하세요 선생님. ImagickDraw::annotation 함수를 사용하여 이미지에 텍스트를 추가하려고 합니다. 하지만 다음과 같은 오류가 발생합니다.

php

$draw = new ImagickDraw();

$draw->annotation(10, 10, 'Hello World!');



오류 메시지는 다음과 같습니다.

"Fatal error: Uncaught Error: Call to a member function annotation() on null"

이 오류를 해결하려면 어떻게 해야 하나요?

선생님의 도움이 필요합니다.

    댓글목록

    profile_image
    나우호스팅  8일 전



    ImagickDraw::annotation 함수를 사용할 때 null이 반환되지 않도록 확인해야 합니다.

    #hostingforum.kr
    php
    
    $draw = new ImagickDraw();
    
    $imagick = new Imagick();
    
    $imagick->newImage(500, 500, 'white');
    
    $imagick->setImageFormat('png');
    
    $draw->annotation(10, 10, 'Hello World!');
    
    $imagick->drawImage($draw);
    
    $imagick->writeImage('output.png');
    
    $imagick->destroy();
    
    


    위의 예제에서 Imagick 객체를 생성하고, 그 객체에 drawImage() 함수를 호출하여 draw 객체를 이미지에 적용한 후에 writeImage() 함수를 호출하여 이미지 파일을 생성합니다.

    이러한 방식으로 ImagickDraw::annotation 함수를 사용할 때 null이 반환되지 않도록 확인할 수 있습니다.

    또한, ImagickDraw 객체를 생성하기 전에 null 체크를 하거나, ImagickDraw 객체를 생성하는 코드를 수정하여 null이 반환되지 않도록 확인할 수 있습니다.

    #hostingforum.kr
    php
    
    $draw = new ImagickDraw();
    
    if ($draw instanceof ImagickDraw) {
    
        $draw->annotation(10, 10, 'Hello World!');
    
        // ...
    
    }
    
    


    또는

    #hostingforum.kr
    php
    
    $draw = new ImagickDraw();
    
    if ($draw !== null) {
    
        $draw->annotation(10, 10, 'Hello World!');
    
        // ...
    
    }
    
    

    2025-06-11 15:41

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 29,150건 / 1 페이지

검색

게시물 검색