Hi,
ich sitze hier an einer kniffligen Aufgabe:
Es soll von einem Bild ein Ausschnitt bestimmt werden (á la Passepartout).
Damit wird dann ein neues Bild generiert. Man kann eine Vergrösserung
einstellen ,die Grösse des neuen Bildes und die Startpunkte des
Ausschnittes. Alles klappt wunderbar.
Ich will jetzt nur noch einen Rahmen in der Kopie des Originalbildes haben,
um dem User anzuzeigen, welchen Ausschnitt er gerade gewählt hat.
Daran scheitere ich gerade.
Alles andere habe ich dank RTFM hinbekommen, aber nun hapert es an
meinen Ideen.
Das Script macht keinen Rahmen! Ich bekomme es nicht hin.
So sieht es bis jetzt aus:
http://www.phantasmedia.de/test/bild...0&tx=80&ty=120
Und das ist der (im wachsen befindliche) Code:
Ich habe Ihn so geändert, dass er erst mal funzt, aber keinen Rahmen
zeichnet. Wenn ich das probiere, klappt nix mehr.
Wenn jemand eine Idee hat.... nur raus damit! Ich bin für alle
(konstruktiven) Anregungen dankbar.
P.S. mit LESEN kam ich bis hier....
Danke
Bruno
ich sitze hier an einer kniffligen Aufgabe:
Es soll von einem Bild ein Ausschnitt bestimmt werden (á la Passepartout).
Damit wird dann ein neues Bild generiert. Man kann eine Vergrösserung
einstellen ,die Grösse des neuen Bildes und die Startpunkte des
Ausschnittes. Alles klappt wunderbar.
Ich will jetzt nur noch einen Rahmen in der Kopie des Originalbildes haben,
um dem User anzuzeigen, welchen Ausschnitt er gerade gewählt hat.
Daran scheitere ich gerade.
Alles andere habe ich dank RTFM hinbekommen, aber nun hapert es an
meinen Ideen.
Das Script macht keinen Rahmen! Ich bekomme es nicht hin.
So sieht es bis jetzt aus:
http://www.phantasmedia.de/test/bild...0&tx=80&ty=120
Und das ist der (im wachsen befindliche) Code:
Ich habe Ihn so geändert, dass er erst mal funzt, aber keinen Rahmen
zeichnet. Wenn ich das probiere, klappt nix mehr.
PHP-Code:
$generalsrc=$image; //the image to resample, resize and iconaize
$abc = imagecreatefromjpeg("$generalsrc");
//$final_thumbwidth =round((imagesx($abc) / $mag)-"0.1");
$final_thumbwidth =$mag;
//$final_thumbwidth = round((imagesx($abc))-"0. 1");
$final_thumbheight = $final_thumbwidth;
$def = imagecreatetruecolor($final_thumbwidth, $final_thumbheight);
$src_mx = round((imagesx($abc) / 2)-"0.1"); // middle x point of the image
$src_my = round((imagesy($abc) / 2)-"0.1"); // middle y point of the image
$src_x = ($src_mx * 2);
$src_y = ($src_my * 2);
$src_sq = ($src_x >= $src_y)?$src_y:$src_x; //used to define the best size for a square cut of the image
$pl = ($src_x >= $src_y)?"1":"2"; //define if the image is portait or landscape
$strt_pntx = ($pl=="1")?round(($src_x-$x)-"0. 1"):round(($src_y-$y)-"0. 1"); //defines the x start point
$strt_pnty = ($pl=="2")?round(($src_x-$x)-"0. 1"):round(($src_y-$y)-"0. 1"); //defines the y start point
//$strt_pntx = ($pl=="1")?round(($src_mx-$x)-"0. 1"):round(($src_my-$y)-"0. 1"); //defines the x start point
//$strt_pnty = ($pl=="2")?round(($src_mx-$x)-"0. 1"):round(($src_my-$y)-"0. 1"); //defines the y start point
imagecopyresized($def, $abc, 0, 0, $strt_pntx, $strt_pnty, $final_thumbwidth, $final_thumbheight, $src_sq, $src_sq);
//$overlay_img = imagecreatefromPNG("button_edit.png"); //NOTE use png for this
//$src_w = ImageSX($overlay_img);
//$src_h = ImageSY($overlay_img);
//$src_w = 80;
//$src_h = 120;
$src_w = $tx;
$src_h = $ty;
$can_img = imagecreatetruecolor ($src_w, $src_h);
//$bg_img = imagecreatetruecolor ($src_w, $src_h);
//$black = imagecolorallocate ($bg_img, 0, 0, 0);
//ImageColorTransparent($bg_img , $black);
$borderColor=255;
imageline($can_img,$src_x-$x,$src_y-$y,$src_x-$x+$tx,$src_y-$y,$borderColor);
imageline($can_img,$src_x-$x+$tx,$src_y-$y,$src_x-$x+$tx,$src_y-$y+$ty,$borderColor);
imageline($can_img,$src_x-$x+$tx,$src_y-$y+$ty,$src_x-$x,$src_y-$y+$ty,$borderColor);
imageline($can_img,$src_x-$x,$src_y-$y+$ty,$src_x-$x,$src_y-$y,$borderColor);
imagecopy($can_img, $def, 0,0,0,0, $x, $y);
//imagecopymerge($can_img, $overlay_img , 0,0,0,0, ImageSX($overlay_img), ImageSY($overlay_img),100); //Imagecopy won't work, you must used imagecopymerge
//imagedashedline ( $can_img, $src_x-$x, $src_y-$y, $src_x-$x, $src_x-$x, 200);
imagejpeg($can_img,"merge_$generalsrc",100);
//imagejpeg($def,"merge2_$generalsrc",100);
//imagedestroy($overlay_img);
imagedestroy($can_img);
imagedestroy($abc);
imagedestroy($def);
print "<HTML><HEAD><TITLE>test</TITLE></HEAD><BODY>
original:<hr><img src=\"$generalsrc\" width=\"300\"><br><br><br>new:<hr><img src=\"merge_$generalsrc\">
<br>width = $src_x
<br>height = $src_y
<br>mdlw = $src_mx
<br>mdlh = $src_my
<br>sqr = $src_sq
<br>pl = $pl
<br>start point x = $strt_pntx
<br>start point y = $strt_pnty
</BODY></HTML>";
(konstruktiven) Anregungen dankbar.
P.S. mit LESEN kam ich bis hier....
Danke
Bruno
Kommentar