libchart 에서 한글 이용하기

출처 : tangos 블로그
http://blog.empas.com/tangos/14505137

----------------------------------------------------------------------------

APM_SETUP 6으로 utf-8로 인코딩하여 사용했는데, 작동한다.

하지만, 다른 컴에서는 한글 깨짐 현상... 발견

그 문제는 기본 저장이 ansi로 인코딩 되어 있었다.

이것을 utf-8로 변경해주면 바로 적용된다

당연히 ansi에서는 한글이 깨지는데.. 그것도 모르고.. 왜 안되는지 고민했다는..

기초인데..ㅠㅠ

이것을 몰라서 하루 고생.. 머리가 멍청하면 손발이 고생인듯..ㅠㅠ

tangos 님께 감사의 글을 올립니다. (--)(__);;

---------------------------------------------------------------------------

 
라이센스: LGPL
 
우선 라이센스에 대한 부담이 없어서 좋다.
그래프도 미려하다.
 
한글 사용이 가능하다.
 
/libart/fonts/ 디렉토리에 보면,
DejaVuSansCondensed-Bold.ttf
DejaVuSansCondensed.ttf
 
파일이 있다. 그냥 귀찮은 생각에 한글이 지원되는 트루타입 폰트로 바꾸어 버렸다. ;-)
 
한글을 쓰려면, UTF-8이어야 한다.
 
 
로고를 바꿀 수 있는데, 기본이 PNG로고만 지원한다.
 
/libart/classes/Chart.php
 
        function printLogo()
        {
            @$logoImage = imageCreateFromPNG($this->logoFileName);

            if($logoImage)
                imagecopymerge($this->img, $logoImage, 2*$this->margin, $this->margin, 0, 0, imagesx($logoImage), imagesy($logoImage), 100);
        }
 
메쏘드를 아래와 같이 수정한다.
        function printLogo()
        {
            @$logoImage = imageCreateFromString(file_get_contents($this->logoFileName));

            if($logoImage)
                imagecopymerge($this->img, $logoImage, 2*$this->margin, $this->margin, 0, 0, imagesx($logoImage), imagesy($logoImage), 100);
        }

이제, PNG,GIF등 다양한 파일을 로고로 쓸 수 있다.
 
단점:  모든 그래프가 1개의 소스만 지원한다.
         라인그래프에서 여러개의 소스가 지원되면 좋겠는데.. 아쉽다.
 


출처 : Tong - 노을지기 벡스통~~님의 PHP통

Posted by 노을지기

통계 프로그램 의뢰를 받아서, 자료를 찾고 있었다.

전에 .net 에서는 cahrtFX을 이용하여 프로그램을 했었는데,

지금은 php 로 빨리 끝내기 위해서 챠트를 찾던 중 파나 챠트를 알게 되었다.

phpschool에서나 sir 사이트에서 설명이 되었는데, 그 대로 할 경우 한글 적용이 제대로 되지 않았다.

그래서 조금 수정하여 적용하였다.

우선 panachart는

http://sourceforge.net/projects/panachart/ 

에서 다운 받는다.

조건은 GD 라이브러리가 필요한데, gnu 보드나 제로 보드가 설치될 경우는 100% 적용될 것이다.

why? 로봇 방지 기능에 이미지 텍스트 기능(? 맞나?) 을 지원하기 때문에 다 지원된다고 생각하면 된다.

그리고 한글을 사용하기 위해서 imagettftext 함수를 사용한다.

이 함수는 http://php.mirror.camelnetwork.com/manual/kr/function.imagettftext.php 

이곳에 잘 설명되어 있다.

그래서 phpschool 과 sir.co.kr 사이트에서 설명대로 할 경우 에러가 발생한다.

http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=29645&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%C2%F7%C6%AE&sop=and

http://sir.co.kr/bbs/board.php?bo_table=pl_php&wr_id=330&page=7

------------------- 에러 메시지 -------------------------
<br /> <b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>C:\APM_Setup\htdocs\panachart\panachart.php</b> on line <b>289</b><br /> <br /> <b>Parse error</b>: syntax error, unexpected ']', expecting T_STRING or T_VARIABLE or T_NUM_STRING in <b>C:\APM_Setup\htdocs\panachart\panachart.php</b> on line <b>358</b><br />

--------------------- 해결 방법 ------------------------------------
$font = 'gulim.ttc';
 
  if($this->m_title){
   imagettftext (
     $this->m_image,
     $this->m_font,
     0,
     ($this->m_width-strlen($this->m_title)*$this->m_fontWidth)/2,
     $margin + 10,
     $this->m_textColor, $font, iconv("EUC-KR","UTF-8",$this->m_title) );

변경하면 된다.

이것을 찾기 위해서 1시간 투자했다.

펌은 자유이고, 출처 표시는 해주세요~~

Posted by 노을지기
이전버튼 1 이전버튼