Kreisdiagramm von Festplatte mit PHP nachbilden

ReemE

Mitglied
Hallo an alle!


Ich habe vor, das Kreisdiagramm, das man z.B. in Win2000 links im Arbeitsplatz sieht, wenn man die Festplatte markiert, nachzubauen.. Das ist mir bisher auch ganz gut gelungen...

PHP:
<?php

// create image
$image = imagecreate(200, 200);
$weiss  = imagecolorallocate ($image, 255, 255, 255);

// allocate some solors
$white    = imagecolorallocate($image, 255, 255, 255);
$darkwhite = imagecolorallocate($image, 220, 220, 220);
$gray = imagecolorallocate($image, 210, 210, 210);
$darkgray   = imagecolorallocate($image, 145, 145, 145);

for ($i = 60; $i > 50; $i--) {
   imagefilledarc($image, 50, $i, 100, 50, 0, 90, $darkwhite, IMG_ARC_PIE);
  imagefilledarc($image, 50, $i, 100, 50, 90, 360 , $darkgray, IMG_ARC_PIE);
}

imagefilledarc($image, 50, 50, 100, 50, 0, 90, $white, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 90, 360 , $gray, IMG_ARC_PIE);


header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

Allerdings fehlt noch der schwarze Rand, der bei der Festplattenanzeige gegeben ist..
Hat jemand eine Idee, wie man das machen könnte?


greez
 
PHP:
<?php


// create image
$image = imagecreate(200, 200);

// allocate some solors
$white    = imagecolorallocate($image, 255, 255, 255);
$darkwhite = imagecolorallocate($image, 220, 220, 220);
$gray = imagecolorallocate($image, 210, 210, 210);
$darkgray   = imagecolorallocate($image, 145, 145, 145);
$black = imagecolorallocate ($image, 0, 0, 0);

// Create shadow-like part
for ($i = 60; $i > 50; $i--) {
   imagefilledarc($image, 50, $i, 100, 50, 0, 90, $darkwhite, IMG_ARC_PIE);
  imagefilledarc($image, 50, $i, 100, 50, 90, 360 , $darkgray, IMG_ARC_PIE);
}

// create pie
imagefilledarc($image, 50, 50, 100, 50, 0, 90, $white, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 90, 360 , $gray, IMG_ARC_PIE);

// create black borders
imagearc ( $image, 50, 50, 100, 50, 0, 360, $black);
imagearc ( $image, 50, 60, 100, 50, 350, 190, $black);
imageline ( $image, 50, 50, 50, 85, $black);
imageline ( $image, 50, 50, 100, 50,  $black);


header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

habs nun doch selber geschafft, mithilfe imagearc und imageline bekommt man die Linien ganz gut hin...

greez
 
soweit so gut... Statisch ging das ganze ganz gut.. Leider habe ich es bisher nicht geschafft, das ganze dynamisch zu machen..

Dazu meine Frage:

Ist es irgendwie möglich, die x und y Koordinaten der Stelle der Ellipse zu bekommen, an der sie z.B. 90° hat...
 
Zurück