Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das verstümmelte PHP-JPGraph-Problem

So lösen Sie das verstümmelte PHP-JPGraph-Problem

藏色散人
藏色散人Original
2020-08-21 10:53:102331Durchsuche

Lösung für das verstümmelte PHP-JPGraph: 1. Ändern Sie die Schriftart des Titels, um das Problem des verstümmelten Titels zu lösen. 2. Ändern Sie die Datei „jpgraph_legend.inc.php“ und setzen Sie die relevanten Attribute auf „öffentlich“.

So lösen Sie das verstümmelte PHP-JPGraph-Problem

Empfehlung: „PHP-Video-Tutorial

Kürzlich habe ich aufgrund von Projektanforderungen ein JpGraph-Plug-in in PHP verwendet, um Zeichenprobleme zu lösen. Während dieser Zeit bin ich auf viele Probleme gestoßen, insbesondere:
1. Wie verwende ich den Composer-Paketmanager zum Installieren und Laden?
2. So lösen Sie das Problem verstümmelter chinesischer Schriftzeichen in Zeichnungen (Titel und Legende)

Composer ist sehr praktisch, um JpGraph zu installieren. Ich verwende die Version „jpgraph/jpgraph“: „4.0.2“.
Ausführencomposer update zum Installieren

Nutzungsprobleme:

JpGraph::load( <code>JpGraph::load(); <br>         JpGraph::module('line'); <br> JpGraph::module('line');
JpGraph::module('line')Sie müssen zuerst die Funktion „load()“ ausführen. Beim Zeichnen des Liniendiagramms müssen Sie eine weitere Datei einführen . jpgraph_line.php, zu diesem Zeitpunkt müssen Sie die

-Methode verwenden, um die Funktion einzuführen, und es wird kein Fehler gemeldet. Die PHP7-Version verfügt über eine Warnmeldung für die Konstruktionsmethode und die Eingabeaufforderungsebene für Konfigurationsfehler wird ignoriert.

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;);
            }
        }
    }
}

Problem mit verstümmeltem Code

Der Titel und das lange Logo werden bei der Anzeige verstümmelt. Ich habe viele Blog-Lösungen überprüft und die meisten haben das Problem mit dem verstümmelten Titel durch Ändern der Schriftart des Titels gelöst.

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

Kann das Problem mit verstümmelten Titeln lösen:

So lösen Sie das verstümmelte PHP-JPGraph-Problem


Die Legendenlösung besteht darin, den zugrunde liegenden Composer-Code zu ändern.
Die Datei jpgraph_legend.inc.php wurde geändert.
Klassenlegende Es gibt so einen Satz in der Klasse private $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12;

private $font_family=FF_SIMSUN,$font_style=FS_NORMAL,$font_size=8;

Die neueste Version des vorhandenen Codes hat dieses Attribut auf „öffentlich“ gesetzt.
Sie können die Schriftart über die $graph->legend->font_family = FF_SIMSUN;
-Anweisung ändern.

Der Befehl „Schriftart festlegen“ kann ausgeführt werden, bevor das Bild ausgegeben wird Problem verstümmelter chinesischer Schriftarten ohne Änderung des Quellcodes.

So lösen Sie das verstümmelte PHP-JPGraph-ProblemAchten Sie hier besonders darauf, die Schriftartdatei unter dem
-Pfad zu platzieren. /usr/share/fonts/truetypeSie müssen diese beiden Dateien ablegen:
, simhei.ttfsimsun.ttc

Das obige ist der detaillierte Inhalt vonSo lösen Sie das verstümmelte PHP-JPGraph-Problem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn