| 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: 12 let
|
|||
0