XeroXs
Vereinsmitglieddoh
|
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
|
MrDarK
Bloody Newbie
|
hilft dir das weiter <?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
Vereinsmitglieddoh
|
mal anguggen... ![:D](/images/smilies/biggrin.gif) äh.. damit wird weder meine erste noch meine zweite frage beantwortet
Bearbeitet von XeroXs am 04.08.2002, 21:48
|
XeroXs
Vereinsmitglieddoh
|
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....
|
XeroXs
Vereinsmitglieddoh
|
hm.... kann man da irgendwie anti aliasing aufdrehen ?
|
watchout
Legendundead
|
hmm, weiis nix davon.. kannst aber aa selber machen, zb mit grau zweite linie daneben machen...
|
Ringding
Pilot
|
watchout, dein Vorschlag ist ja wohl sehr witzlos. Du solltest dir mal anschauen, wie eine Anti-Aliasing wirklich aussieht bzw. funktioniert.
|