用PHP打造超酷的数据饼图
源代码:
//+------------------------+
//| pie3dfun.PHP//公用函数 |
//+------------------------+
define("ANGLE_STEP", 5); //定义画椭圆弧时的角度步长
function draw_getdarkcolor($img,$clr) //求$clr对应的暗色
{
$rgb = imagecolorsforindex($img,$clr);
return array($rgb["red"]/2,$rgb["green"]/2,$rgb["blue"]/2);
}
function draw_getexy($a, $b, $d) //求角度$d对应的椭圆上的点坐标
{
$d = deg2rad($d);
return array(round($a*Cos($d)), round($b*Sin($d)));
}
function draw_arc($img,$ox,$oy,$a,$b,$sd,$ed,$clr) //椭圆弧函数
{
$n = ceil(($ed-$sd)/ANGLE_STEP);
$d = $sd;
list($x0,$y0) = draw_getexy($a,$b,$d);
for($i=0; $i
{
$d = ($d+ANGLE_STEP)>$ed?$ed:($d+ANGLE_STEP);
list($x, $y) = draw_getexy($a, $b, $d);
imageline($img, $x0+$ox, $y0+$oy, $x+$ox, $y+$oy, $clr);
$x0 = $x;
$y0 = $y;
}
}
function draw_sector($img, $ox, $oy, $a, $b, $sd, $ed, $clr) //画扇面
{
$n = ceil(($ed-$sd)/ANGLE_STEP);
$d = $sd;
list($x0,$y0) = draw_getexy($a, $b, $d);
imageline($img, $x0+$ox, $y0+$oy, $ox, $oy, $clr);
for($i=0; $i
{
$d = ($d+ANGLE_STEP)>$ed?$ed:($d+ANGLE_STEP);
list($x, $y) = draw_getexy($a, $b, $d);
imageline($img, $x0+$ox, $y0+$oy, $x+$ox, $y+$oy, $clr);
$x0 = $x;
$y0 = $y;
}
imageline($img, $x0+$ox, $y0+$oy, $ox, $oy, $clr);
list($x, $y) = draw_getexy($a/2, $b/2, ($d+$sd)/2);
imagefill($img, $x+$ox, $y+$oy, $clr);
}
function draw_sector3d($img, $ox, $oy, $a, $b, $v, $sd, $ed, $clr) //3d扇面
{
draw_sector($img, $ox, $oy, $a, $b, $sd, $ed, $clr);
if($sd
{
list($R, $G, $B) = draw_getdarkcolor($img, $clr);
$clr=imagecolorallocate($img, $R, $G, $B);
if($ed>180) $ed = 180;
list($sx, $sy) = draw_getexy($a,$b,$sd);
$sx += $ox;
$sy += $oy;
list($ex, $ey) = draw_getexy($a, $b, $ed);
$ex += $ox;
$ey += $oy;
imageline($img, $sx, $sy, $sx, $sy+$v, $clr);
imageline($img, $ex, $ey, $ex, $ey+$v, $clr);
draw_arc($img, $ox, $oy+$v, $a, $b, $sd, $ed, $clr);
list($sx, $sy) = draw_getexy($a, $b, ($sd+$ed)/2);
$sy += $oy+$v/2;
$sx += $ox;
imagefill($img, $sx, $sy, $clr);
}
}
function draw_getindexcolor($img, $clr) //RBG转索引色
{
$R = ($clr>>16) & 0xff;
$G = ($clr>>8)& 0xff;
$B = ($clr) & 0xff;
return imagecolorallocate($img, $R, $G, $B);
}
// 绘图主函数,并输出图片
// $datLst 为数据数组, $datLst 为标签数组, $datLst 为颜色数组
// 以上三个数组的维数应该相等
function draw_img($datLst,$labLst,$clrLst,$a=250,$b=120,$v=20,$font=10)
{
$ox = 5+$a;
$oy = 5+$b;
$fw = imagefontwidth($font);
$fh = imagefontheight($font);
$n = count($datLst);//数据项个数
$w = 10+$a*2;
$h = 10+$b*2+$v+($fh+2)*$n;
$img = imagecreate($w, $h);
//转RGB为索引色
for($i=0; $i
$clrLst[$i] = draw_getindexcolor($img,$clrLst[$i]);
$clrbk = imagecolorallocate($img, 0xff, 0xff, 0xff);
$clrt = imagecolorallocate($img, 0x00, 0x00, 0x00);
//填充背景色
imagefill($img, 0, 0, $clrbk);
//求和
$tot = 0;
for($i=0; $i
$tot += $datLst[$i];
$sd = 0;
$ed = 0; 333
$ly = 10+$b*2+$v;
for($i=0; $i
{
$sd = $ed;
$ed += $datLst[$i]/$tot*360;
//画圆饼
draw_sector3d($img, $ox, $oy, $a, $b, $v, $sd, $ed, $clrLst[$i]); //$sd,$ed,$clrLst[$i]);
//画标签
imagefilledrectangle($img, 5, $ly, 5+$fw, $ly+$fh, $clrLst[$i]);
imagerectangle($img, 5, $ly, 5+$fw, $ly+$fh, $clrt);
//imagestring($img, $font, 5+2*$fw, $ly, $labLst[$i].":".$datLst[$i]."(".(round(10000*($datLst[$i]/$tot))/100)."%)", $clrt);
$str = iconv("GB2312", "UTF-8", $labLst[$i]);
ImageTTFText($img, $font, 0, 5+2*$fw, $ly+13, $clrt, "./simsun.ttf", $str.":".$datLst[$i]."(".(round(10000*($datLst[$i]/$tot))/100)."%)");
$ly += $fh+2;
}
//输出图形
header("Content-type: image/png");
//输出生成的图片
$imgFileName = "../temp/".time().".png";
imagepng($img,$imgFileName);
echo '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
}
$datLst = array(30, 10, 20, 20, 10, 20, 10, 20); //数据
$labLst = array("中国科技大学", "安徽理工大学", "清华大学", "北京大学", "南京大学", "上海大学", "河海大学", "中山大学"); //标签
$clrLst = array(0x99ff00, 0xff6666, 0x0099ff, 0xff99ff, 0xffff99, 0x99ffff, 0xff3333, 0x009999);
//画图
draw_img($datLst,$labLst,$clrLst);
?>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les méthodes pour ouvrir les fichiers img incluent l'utilisation d'un logiciel de lecteur optique virtuel, l'utilisation d'un logiciel de compression et l'utilisation d'outils spéciaux. Introduction détaillée : 1. Utilisez le logiciel de lecteur optique virtuel pour ouvrir, télécharger et installer un logiciel de lecteur optique virtuel, cliquez avec le bouton droit sur le fichier img, sélectionnez "Ouvrir avec" ou "Programme associé", sélectionnez le logiciel de lecteur optique virtuel installé dans la fenêtre contextuelle. -up boîte de dialogue, virtuel Le logiciel du lecteur optique chargera automatiquement le fichier img et l'utilisera comme image disque dans le lecteur optique virtuel Double-cliquez sur l'icône du disque dans le lecteur optique virtuel pour ouvrir le fichier img et accéder à son contenu. etc.

Comment ouvrir le fichier img : 1. Confirmez le chemin du fichier img ; 2. Utilisez l'ouvre-fichier img ; 3. Sélectionnez la méthode d'ouverture ; 4. Affichez l'image ; Le fichier img est un format de fichier image couramment utilisé, généralement utilisé pour stocker des données d'image.

img est un format de compression de fichiers, principalement utilisé pour créer des fichiers image de disquette. Il peut être utilisé pour compresser le contenu d'une disquette entière ou d'un CD entier. Des fichiers avec l'extension ".IMG" sont créés en utilisant ce format de fichier. Le fichier img comprend 3 nœuds de base, à savoir "Ehfa_HeaderTag", "Ehfa_File" et "Ehfa_Entry".

Draw de Pygame Pygame fournit un module de dessin pour dessiner des formes graphiques simples, telles que des rectangles, des polygones, des cercles, des lignes droites, des arcs, etc. Les méthodes couramment utilisées du module pygame.draw sont présentées dans le tableau suivant : Nom description pygame.draw.rect() dessine un rectangle pygame.draw.polygon() dessine un polygone pygame.draw.circle() dessine un cercle basé sur sur le centre et le rayon, pygame.draw ellipse() dessine une ellipse pygame.draw.arc() dessine un arc (en agitant une partie de l'ellipse) pygame.draw.line() dessine une ligne

Le disque U est l'un des périphériques de stockage fréquemment utilisés. Il y aura également quelques problèmes mineurs lors de l'utilisation. Par exemple : le disque U ne peut pas être lu. Comment le résoudre ? Vous n'arrivez pas à lire la clé USB ? 4 étapes pour vous apprendre à résoudre le problème facilement. Une fois la clé USB insérée dans l'ordinateur, cliquez sur le menu Démarrer, sélectionnez Panneau de configuration et rangez-la ! Vous n'arrivez pas à lire la clé USB ? 4 étapes pour vous apprendre à résoudre facilement le problème. Recherchez et double-cliquez sur le Gestionnaire de périphériques dans le Panneau de configuration. Garde le! Vous n'arrivez pas à lire la clé USB ? 4 étapes pour vous apprendre à résoudre facilement le problème : Recherchez le contrôleur Universal Serial Bus sur l'interface principale du Gestionnaire de périphériques et rangez-le ! Vous n'arrivez pas à lire la clé USB ? 4 étapes pour vous apprendre à trouver facilement le périphérique de stockage de masse USB, le sélectionner, faire un clic droit, trouver Désinstaller et ranger le ! Vous n'arrivez pas à lire la clé USB ? 4 étapes pour vous apprendre à résoudre le problème facilement. Bienvenue à laisser un message pour discussion !

Comment changer l'attribut img src dans jquery : 1. Utilisez l'attribut attr(), la syntaxe "$("img").attr("src","image file address""); 2. Utilisez la méthode prop(), la syntaxe " $("img").prop("src","L'adresse du fichier image")".

En HTML, la balise image fait référence à la balise utilisée pour définir l'image, c'est-à-dire la balise "<img>". L'élément img peut intégrer une image dans une page Web. La balise "<img>" est utilisée pour créer un espace réservé pour l'image référencée et lier l'image à la page HTML. La balise img utilise l'attribut src pour spécifier l'URL de celle-ci. affichant l'image. Syntaxe "<img src="imageurl">".

Solution à la distorsion CSS img : 1. Ouvrez le fichier CSS correspondant ; 2. Conservez la longueur et la largeur du contenu de l'élément d'origine en définissant "object-fit:none;".
