Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: скругление углов у изображения
 
 автор: m@rchello   (28.03.2009 в 19:14)   письмо автору
 
 

Доброго времени суток.
Подскажите пожалуста как скруглить углы у изображения?
нужно примерно такое http://mysitez.km.ua/Programming/?phptransmask , только без наложения шаблона, поскольку изображения имеют разные размеры. и желательно немного сгладить края этих углов.

  Ответить  
 
 автор: nikita2206   (28.03.2009 в 21:55)   письмо автору
5.6 Кб
 
   для: m@rchello   (28.03.2009 в 19:14)
 

у меня стоит такая фигня на сайте, недавно написал, но есть одна проблема: на PNG накладывать их нельзя(существуют некоторые трудности)....
в прикрепленном файле.....
нарисуете уголки своего цвета....

  Ответить  
 
 автор: sim5   (29.03.2009 в 15:14)   письмо автору
 
   для: m@rchello   (28.03.2009 в 19:14)
 

Можно поступить следующим образом (с типами изображений, с определением размера скругления в зависимости от размера изображения, сами подумаете).
<?
//создаем изображение-маску
//размер маски должен быть равен исходному изображению 
$im imagecreatetruecolor(300,300);

//цвет, которым и будут содаваться закругления
//его можно определять как в HTML принято
$col 0xff7739;
//далее получая из него индекс, 
$col imagecolorsforindex($im$col);
//и создавая палитру
$col imagecolorallocate($im$col['red'], $col['green'], $col['blue']);

//заполняем маску цветом скругления
imagefill($im00$col);

//устанавливаем и определяем цвет прозрачности маски
$black imagecolorallocate($im000);
imagecolortransparent($im$black);

//рисуем закругления
//радиус закругления в примере принят равным 15
imagefilledarc($im15153131180270$black4);
imagefilledarc($im2851531312700$black4);
imagefilledarc($im2842843131090$black4);
imagefilledarc($im15284313190180$black4);

//заполняем прозрачным цветом остальную облась маски
imagefilledrectangle ($im015299284$black);
imagefilledrectangle ($im150284299$black);
  
//это имитирует исходное изображение 
$ims imagecreatetruecolor(300,300);
$wh imagecolorallocate($ims17615568);
imagefill($ims00$wh);

//накладываем маску на исходное изображение
imagecopymerge($ims$im0000300300100);

//вывод изображения
header ("Content-type: image/png");
imagepng($ims);
?>

  Ответить  
 
 автор: ddhvvn   (29.03.2009 в 15:35)   письмо автору
 
   для: sim5   (29.03.2009 в 15:14)
 

или использовать прозрачность и изображение-маску

  Ответить  
 
 автор: sim5   (29.03.2009 в 15:38)   письмо автору
 
   для: ddhvvn   (29.03.2009 в 15:35)
 

Изображение-маска при масштабировании может привратиться в "бяку", читайте вопрос ;-)

  Ответить  
 
 автор: ddhvvn   (29.03.2009 в 16:29)   письмо автору
 
   для: sim5   (29.03.2009 в 15:38)
 

ой и правда невнимательный я!..

  Ответить  
 
 автор: Loki   (30.03.2009 в 11:15)   письмо автору
 
   для: m@rchello   (28.03.2009 в 19:14)
 

imagemagic умеет это делать. если есть к нему доступ, то решается довольно просто.

  Ответить  
 
 автор: m@rchello   (30.03.2009 в 12:08)   письмо автору
 
   для: Loki   (30.03.2009 в 11:15)
 

спросил в тех потдержке...модуль есть ... но не разу с ним не работал... подскажите пожалуста как что с ним делать... буду очень признателен.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования