>백엔드 개발 >PHP 문제 >PHP jpgraph 왜곡 문제를 해결하는 방법

PHP jpgraph 왜곡 문제를 해결하는 방법

藏色散人
藏色散人원래의
2020-08-21 10:53:102395검색

잘못된 PHP jpgraph에 대한 해결 방법: 1. 제목의 글꼴을 수정하여 잘못된 제목 문제를 해결합니다. 2. "jpgraph_legend.inc.php" 파일을 수정하고 관련 속성을 공개로 설정합니다.

PHP jpgraph 왜곡 문제를 해결하는 방법

Recommendation: "PHP Video Tutorial"

최근 프로젝트 요구로 인해 그리기 문제를 해결하기 위해 PHP에서 JpGraph 플러그인을 사용했습니다. 이 기간 동안 저는 특히 다음과 같은 많은 문제에 직면했습니다.
1. Composer 패키지 관리자를 사용하여 설치하고 로드하는 방법.
2. 그림(제목 및 범례)의 한자가 깨지는 문제를 해결하는 방법

composer는 JpGraph를 설치하는 데 매우 편리합니다. 저는 "jpgraph/jpgraph":"4.0.2" 버전을 사용합니다.
실행composer update하여 설치

사용 문제:

JpGraph::load() <br>; JpGraph::module('line'); <br>
load() 함수를 먼저 실행해야 합니다. load() 함수에는 꺾은선형 차트를 그릴 때 다른 파일을 추가해야 합니다. jpgraph_line.php, 이때 JpGraph::module('line') 方法将函数引入,将不再报错,php7版本会对构造方法有警告提示,配置错误提示等级忽略。

class JpGraph {
    static  $loaded = false ;
    static  $modules = array();
    static function load(){
        if(self::$loaded !== true){
            include_once __DIR__.&#39;/jpgraph/src/jpgraph.php&#39;;
            self::$loaded = true ;
        }
    }
    static function module($moduleName){
        self::load();
        if(!in_array($moduleName,self::$modules)){
            $path = __DIR__.&#39;/jpgraph/src/jpgraph_&#39;.$moduleName.&#39;.php&#39; ;
            if(file_exists($path)){
                include_once $path ;
            }else{
                throw new ModuleNotFoundException(&#39;The JpGraphs\&#39;s module "&#39;.$moduleName.&#39;" does not exist&#39;);
            }
        }
    }
}

乱码问题

标题和lenged标识在展示是会有乱码问题,查阅不少博客解决方案,大都以修改title 的font解决title乱码问题。

$graph->title->SetFont(FF_SIMSUN,FS_BOLD);
可以解决标题的乱码问题:

PHP jpgraph 왜곡 문제를 해결하는 방법

legend解决方案以修改composer底层代码方式解决。
修改了jpgraph_legend.inc.php文件里的。  
class Legend 类中有这样一句  
private $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12;

private $font_family=FF_SIMSUN,$font_style=FS_NORMAL,$font_size=8;JpGraph::module('line')
메소드를 사용하여 함수를 도입해야 하며 오류가 보고되지 않습니다. php7 버전에는 구성 메소드에 대한 경고 프롬프트가 있습니다. 구성 오류 프롬프트 수준은 무시됩니다.

$graph->title->SetFont(FF_SIMSUN,FS_BOLD);
       $graph->legend->font_family = FF_SIMSUN;

       $image_file = $path;
       return $graph->Stroke($image_file);

깨진 문제
$graph->legend->font_family = FF_SIMSUN; 语句将字体更改
设置字体命令在图片输出之前执行即可;rrreee

已经完全可以不通过修改源码解决中文字体乱码问题。

PHP jpgraph 왜곡 문제를 해결하는 방법
这里要特别注意要在 /usr/share/fonts/truetype 路径下放字体文件。
需要放入这两个文件: simhei.ttfsimsun.ttc제목과 길이가 긴 로고를 표시할 때 깨짐 문제가 발생합니다. 여러 블로그 해결 방법을 확인해 본 결과 대부분 제목 글꼴을 수정하여 제목 깨짐 문제를 해결했습니다.

$graph->title->SetFont(FF_SIMSUN,FS_BOLD); 제목이 왜곡되는 문제를 해결할 수 있습니다: 여기에 그림 설명 쓰기🎜🎜전설의 해결책은 작곡가의 기본 코드를 수정하는 것입니다. 🎜jpgraph_legend.inc.php 파일을 수정했습니다. 🎜class Legend 클래스에 이런 문장이 있습니다 🎜🎜private $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12;🎜🎜🎜🎜private $font_family=FF_SIMSUN,$font_style=FS_NORMAL,$font_size=8;🎜 🎜 기존 코드의 최신 버전에서는 이 속성을 공개로 설정했습니다. 🎜$graph->legend->font_family = FF_SIMSUN;🎜 문을 통해 글꼴을 변경할 수 있습니다. 🎜글꼴 설정 명령은 이전에 실행될 수 있습니다. 이미지가 출력됩니다. 🎜rrreee 🎜이제 소스 코드를 수정하지 않고도 중국어 글꼴이 깨지는 문제를 해결할 수 있습니다. 🎜🎜여기에 사진 설명 쓰기🎜여기로 이동 🎜/usr/share/fonts/truetype🎜 경로 아래에 글꼴 파일을 배치하는 데 특히 주의하세요. 🎜다음 두 파일을 넣어야 합니다: 🎜simhei.ttf🎜, 🎜simsun.ttc🎜🎜🎜🎜🎜🎜🎜🎜

위 내용은 PHP jpgraph 왜곡 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.