Witam. Mam pytanie jak za pomocą html'a, lub php, mając grafikę w postaci prostokąta, zaokrąglić go?
nie bardzo rozumiem - raczej niemożliwe albo w przypadku php - bardzo trudne ale może to jakoś lepiej wytłumacz
Adamo napisał(a)
nie bardzo rozumiem - raczej niemożliwe albo w przypadku php - bardzo trudne ale może to jakoś lepiej wytłumacz
Hmmm... Mam obrazek, powiedzmy o wymiarach 80x80.
Rzecz jasna jest to kwadrat. A ja chcę, żeby jego wierzchołki były zaokrąglone. Niestety muszę to zrobić programowo.
Skrypt wcale nie jest taki trudny do napisania. Jeżeli chcesz możesz bazować na moim. Nie zaokrągla rogów, ale robi gradientowe przejście między kolorem przekazanym jako parametry R,G,B a obrazkiem.
Wygląda to tak
- obrazek wejściowy
- wynik skryptu
A tak wygląda skrypt który to generuje. Używaj dowoli.
<?
header("Content-type: image/jpeg");
header("Last-Modified: Mon, 26 Jul 1997 05:00:00 GMT");
if (!isset($directory))
$directory = "images/";
if (file_exists($directory.$plik))
{
$org = imagecreatefromjpeg($directory.$plik);
$s_org = imagesx($org);
$w_org = imagesy($org);
$wmin = 200;
$hmin = 150;
if ($s_org / $w_org > $wmin / $hmin)
{
$s_min = $wmin;
$w_min = $wmin * $w_org / $s_org;
}
else
{
$s_min = $hmin * $s_org / $w_org;
$w_min = $hmin;
}
$min_ = imagecreatetruecolor($s_min, $w_min);
imagecopyresized($min_, $org, 0, 0, 0, 0, $s_min, $w_min, $s_org, $w_org);
imagedestroy($org);
if (!isset($R)) $R = 253;
if (!isset($G)) $G = 254;
if (!isset($B)) $B = 255;
for ($a=0; $a<$s_min;$a++)
for ($b=0; $b<10;$b++)
{
$colort = imagecolorallocatealpha ($min_, $R,$G,$B,12*$b);
imagesetpixel($min_,$a,$b,$colort);
imagesetpixel($min_,$a,$w_min-$b,$colort);
}
for ($a=0; $a<$w_min;$a++)
for ($b=0; $b<10;$b++)
{
$colort = imagecolorallocatealpha ($min_, $R,$G,$B,12*$b);
imagesetpixel($min_,$b,$a,$colort);
imagesetpixel($min_,$s_min-$b,$a,$colort);
}
imagejpeg($min_);
imagedestroy($min_);
}
else
{
$org = imagecreatefromjpeg("img/brakpliku.jpg");
imagejpeg($org);
}
?>
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.