Maison >développement back-end >Problème PHP >Comment résoudre le problème php jpg tronqué

Comment résoudre le problème php jpg tronqué

藏色散人
藏色散人original
2020-08-21 10:53:102404parcourir

Solution au code php jpgraph tronqué : 1. Modifiez la police du titre pour résoudre le problème du titre tronqué ; 2. Modifiez le fichier "jpgraph_legend.inc.php" et définissez les attributs pertinents sur public.

Comment résoudre le problème php jpg tronqué

Recommandé : "Vidéo PHP Tutoriel

Récemment, en raison des besoins du projet, un plug-in JpGraph en PHP a été utilisé pour résoudre des problèmes de dessin. Durant cette période, j'ai rencontré de nombreux problèmes, notamment :
1. Comment utiliser le gestionnaire de packages composer pour installer et charger.
2. Comment résoudre le problème des caractères chinois tronqués dans les dessins (titre et légende)

Il est très pratique pour le compositeur d'installer JpGraph. J'utilise la version "jpgraph/jpgraph": 4.0. 2".
Exécutez composer update pour installer

Problèmes d'utilisation :

JpGraph::load(); <code>JpGraph::load(); <br>         JpGraph::module('line'); <br> JpGraph::module('line');
JpGraph::module('line')Vous devez d'abord exécuter la fonction Load(). La fonction Load() inclura la fonction principale. Lorsque vous dessinez le graphique linéaire, vous en avez besoin. pour introduire un autre fichier. jpgraph_line.php, à ce stade, vous devez utiliser la méthode

pour introduire la fonction, et aucune erreur ne sera signalée. La version php7 aura une invite d'avertissement pour la méthode de construction et le niveau d'invite d'erreur de configuration sera ignoré. .

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

Problème de code tronqué

Le titre et le logo allongé seront tronqués lorsqu'ils seront affichés. J'ai vérifié de nombreuses solutions de blog et la plupart d'entre elles ont résolu le problème de titre tronqué en modifiant la police du titre.

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

Peut résoudre le problème du titre tronqué :

Comment résoudre le problème php jpg tronqué


la solution de la légende consiste à modifier le code sous-jacent du compositeur.
Modification du fichier jpgraph_legend.inc.php.
Légende de la classe Il y a une telle phrase dans la classe private $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12;

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

La dernière version du code existant a défini cet attribut sur public
Vous pouvez modifier la police via l'instruction $graph->legend->font_family = FF_SIMSUN;

La commande set font peut être exécutée avant la sortie de l'image ; >
$graph->title->SetFont(FF_SIMSUN,FS_BOLD);
       $graph->legend->font_family = FF_SIMSUN;

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

a été Il est tout à fait possible de résoudre le problème des polices chinoises tronquées sans modifier le code source.

Comment résoudre le problème php jpg tronqué
Faites particulièrement attention ici à placer le fichier de police sous le chemin /usr/share/fonts/truetype.
Vous devez mettre ces deux fichiers : simhei.ttf, simsun.ttc

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn