Php - Gd

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_gd_43260/page_1 - zur Vollversion wechseln!


XeroXs schrieb am 04.08.2002 um 21:00

checkt die wer da?

brauch da a paar denkanstöße..

basics sind klar.. header definiern, bild erstellen mit imagecreate, dann des ganze zeug wo das bild gezeichnet wird und dann noch anzeigen lassen und nachher destroyen damits ned im speicher hängen bleibt..

soweit so gut..

i hab da jetzt 2 probleme die i afoch ned hinbekomm....

1.) Ellipsen zeichnen.. ImageEllipse geht auf keinem server deni zur verfügung hab... weil da nirgends GD 2.0.2 installed is... da muss es doch an vorgänger zu dem befehl geben ?! (der zumindest etwas ähnliches macht)

2.) würd gern zuerst an geschlossenen rahmen zeichnen aus linien... in einer beliebigen form... und dann die form in einer farbe füllen... is des möglich? wie?

thx :D


MrDarK schrieb am 04.08.2002 um 21:41

hilft dir das weiter

Zitat
<?php



//Header("Content-type: image/png");


function drawlines($x,$y,$breite,$hoehe,$steps,$richtung)
{

global $image;


$weiss=imagecolorallocate($image,0,0,0);
$schwarz=imagecolorallocate($image,0,0,0);
$andere=imagecolorallocate($image,255,0,255);
$andere2=imagecolorallocate($image,255,110,255);




srand ((double) microtime() * 1000000);
$randval = rand();

$sin1=rand(0,360);
$sin2=rand(0,360);
$sin3=rand(0,360);
$sin4=rand(0,360);
$add1=rand(1,12);
$add2=rand(1,12);
$add3=rand(1,12);
$add4=rand(1,12);


$col1_r['start']=rand(0,55);
$col1_r['end']=rand(0,255);
$col1_g['start']=rand(0,55);
$col1_g['end']=rand(0,255);
$col1_b['start']=rand(0,55);
$col1_b['end']=rand(0,200);



$myPi=3.14159265358979323846;



//$steps=115;
$speed=1;


//$x=rand(0,$breite);
//$y=rand(0,$hoehe);
//$richtung=rand(0,360);

for($i=0;$i<$steps;$i++){

$richtung+=rand(0,40)-20;

$r1=(($col1_r['end']-$col1_r['start'])/$steps)*$i+$col1_r['start'];
$g1=(($col1_g['end']-$col1_g['start'])/$steps)*$i+$col1_g['start'];
$b1=(($col1_b['end']-$col1_b['start'])/$steps)*$i+$col1_b['start'];
$andere=imagecolorallocate($image,$r1,$g1,$b1);

$newx=$x+(sin(deg2rad($richtung))-cos(deg2rad($richtung)))*$speed;
$newy=$y+(cos(deg2rad($richtung))+sin(deg2rad($richtung)))*$speed;



if ($newx<0){
$newx=$newx+$breite;
$x=$newx;
}elseif($newx>$breite){
$newx=$newx-$breite;$x=$newx;}

if ($newy<0){
$newy=$newy+$hoehe;
$y=$newy;
}elseif($newy>$hoehe){

$newy=$newy-$hoehe;
$y=$newy;
}

if(rand(0,70)==5){
drawlines($newx,$newy,$breite,$hoehe,$steps/2,$richtung);

}


imageline($image,$x,$y,$newx,$newy,$andere);
// imagesetpixel($image,$newx,$newy,$andere);

$x=$newx;
$y=$newy;
}

//imagerectangle($image,0,0,$breite,$hoehe,$andere);

}

$breite=100;
$hoehe=100;
$image=imagecreate($breite,$hoehe);


ImageInterlace($image,1);

imagecolorset($image,1,0,0,0);
drawlines(rand(0,$breite),rand(0,$hoehe),$breite,$hoehe,100,rand(0,360)) ;
drawlines(rand(0,$breite),rand(0,$hoehe),$breite,$hoehe,30,rand(0,360)) ;




imagepng($image);
imagedestroy($bild);

?>

ist nicht von mir


XeroXs schrieb am 04.08.2002 um 21:45

mal anguggen... :D

äh.. damit wird weder meine erste noch meine zweite frage beantwortet :confused:


MrDarK schrieb am 04.08.2002 um 21:50

aso
wast eh i kenn mi do null aus


watchout schrieb am 04.08.2002 um 22:55

es wäre schön, wenn manche leute auch mal in dokumentationen schaun, ich hab jetzt auch nix andres gemacht...:

1. http://www.php.net/manual/en/function.imagearc.php davon brauchst nur zwei (gespiegelte) machen -> fertig (wobei die links am ende zu beachten sind...)
2. http://www.php.net/manual/en/functi...edrectangle.php

übersicht über alle image-geschichten:http://www.php.net/manual/en/ref.image.php


XeroXs schrieb am 04.08.2002 um 23:00

1.) hab ich in der doku gschaut.. des arc habi allerdings übersehen, thx

2.) filledrectangle kenn ich eh.. is aba nur für rechtecke.. sowas habi ned gmeint... sondern afoch zerst mit linien eine beliebige form zeichnen und diese dann füllen....


watchout schrieb am 04.08.2002 um 23:27

hey, sei doch ETWAS einfallsreich..., ich hab' dir ja sogar den link zur funktionsübersicht gegeben...
http://www.php.net/manual/en/functi...lledpolygon.php


XeroXs schrieb am 04.08.2002 um 23:30

ahja, thx


XeroXs schrieb am 05.08.2002 um 12:39

hm.... kann man da irgendwie anti aliasing aufdrehen ?


watchout schrieb am 07.08.2002 um 07:55

hmm, weiis nix davon.. kannst aber aa selber machen, zb mit grau zweite linie daneben machen...


bernhard schrieb am 07.08.2002 um 17:43

JpGraph besitzt Routinen, die einen midpoint Algorithmus verwenden:
<http://www.aditus.nu/jpgraph/jpg_antialias.php>


Ringding schrieb am 08.08.2002 um 13:40

watchout, dein Vorschlag ist ja wohl sehr witzlos. Du solltest dir mal anschauen, wie eine Anti-Aliasing wirklich aussieht bzw. funktioniert.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026