Autor | Zpráva | ||
---|---|---|---|
dan55 Profil |
#1 · Zasláno: 15. 10. 2013, 18:45:29
Ahoj,
chci se zeptat, jestli už někdo v PHP řešil takový ořez obrázku a jestli případně nemáte odkaz ke stažení scriptu. Nechce se mi s tím zdržovat :) Mělo by to vypadat asi tak: http://screenup.eu/?qGOdxr Tzn. z obdélníkového udělat čtvercový bez zdeformování. |
||
suvel Profil |
#2 · Zasláno: 15. 10. 2013, 19:22:13
Mělo by to jít pomocí
imagecrop
|
||
peta Profil |
#3 · Zasláno: 16. 10. 2013, 13:01:42
Urcite by to slo napsat elegantneji, ale "Nechce se mi s tím zdržovat" :)
// vypocita oriznuti function createCropArray($_width,$_height,$_factor,$_position = -1) { $crop = array(0,0,$_width,$_height); //left,top,width,height if ($_position!=0) { if (($_width/$_height)<$_factor) {$crop[3] = floor($_width/$_factor);} // prizpusobi w a h podle faktoru if (($_width/$_height)>$_factor) {$crop[2] = floor($_height*$_factor);} $dw = $_width -$crop[2]; $dh = $_height-$crop[3]; switch ($_position) { // case 0: $crop = array(0,0,$_width,$_height); break; // none case 1: break; // left top case 2: $crop[0] = $dw; break; // right top case 3: $crop[0] = $dw; $crop[1] = $dh; break; // right bottom case 4: $crop[1] = $dh; break; // left bottom case 5: $crop[1] = $dh>>1; break; // left center case 6: $crop[0] = $dw>>1; break; // center top case 7: $crop[0] = $dw; $crop[1] = $dh>>1; break; // right center case 8: $crop[0] = $dw>>1; $crop[1] = $dh; break; // center bottom default:$crop[0] = $dw>>1; $crop[1] = $dh>>1; break; // center center ($_position=-1) } } return $crop; } ... $_crop = createCropArray(300,200,4/3,4); // sirka, vyska, pomer stran, poloha vyrezu $fce_resize2($image2, $image1, $_resize[0],$_resize[1], $_crop[0],$_crop[1], $_resize[2],$_resize[3], $_crop[2],$_crop[3]); // $fce_resize2 je tusi ImageCreateTruecolor nebo ImageCreate nebo ImageCopyResampled a nebo ImageCopyResized |
||
Kcko Profil |
#4 · Zasláno: 16. 10. 2013, 13:05:05
dan55:
Použil bych hotovou komponentu, která v základu umí víc než požaduješ. http://phpthumb.gxdlabs.com/ |
||
dan55 Profil |
#5 · Zasláno: 16. 10. 2013, 16:34:27
Kcko:
Díky, tato funkce je přesně to, co jsem potřeboval :) require_once './ThumbLib.inc.php'; $thumb = PhpThumbFactory::create('boty.jpg'); $thumb->adaptiveResize(200, 200); $thumb->show(); Díky, moc se mi to nedařilo rozchodit, tak jsem použil tu knihovnu celou :) |
||
Časová prodleva: 11 let
|
0