2009-06-29 4 views
1

Мне интересно, что лучший способ программно сделать закругленные углы для изображений. Это может быть либо PHP, либо javascript. Алгоритм также будет делать то же самое, и я могу закодировать его с помощью Image :: Magick или GD.Rounded Corners

Спасибо за ваше время.

+0

Duplicate: http://stackoverflow.com/questions/7089/what-is-the-best-way-to-create-rounded-corners-using-css http://stackoverflow.com/questions/823218/ Как-к-созданию-rounded-углы-using-css-or-javascript –

+0

Не совсем уверен в вопросе, потому что это звучит так просто. Как насчет рисования 4 кругов http://us3.php.net/manual/en/function.imagickdraw-circle.php и 2 прямоугольника? http://us3.php.net/manual/en/function.imagickdraw-rectangle.php – merkuro

+0

Упс, есть даже функция, которая рисует округлые диаграммы в imagemagick: http://us3.php.net/manual/en/ function.imagickdraw-roundrectangle.php – merkuro

ответ

1

Я хотел бы использовать curvy corners или nifty cube

+0

Кривые углы FTW! : D Nifty углы не всегда могут быть круглыми в IE. Я пробовал его в основном меню Drupal, но он не работает в IE. – marknt15

+0

раздутая библиотека. 55.9kb !!! DD_roundies гораздо умнее и легковеснее. – vsync

1

Ну, это зависит от того, что именно вам нужно. Вы хотите, чтобы углы были прозрачными или заполнены каким-то цветом? Какой формат изображения?

Вот некоторая помощь для создания закругленных углов: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=8401

Проверьте это, и если это не поможет, обновить свой вопрос с конкретной проблемой. Тогда мы, вероятно, может помочь :-):

1

использование JavaScript для получения round corners программно

ИЛИ

вы можете использовать Mozilla и сафари браузера расширения, чтобы обойти углы с помощью CSS, но он будет работать только в Mozilla и Сафари

-moz-border-radius: 5px; 
-webkit-border-radius: 5px; 
+1

Это автоматически делает это нежизнеспособным решением, поскольку 90% пользователей по-прежнему используют багги-дерьмо, это IE – futureelite7

+0

Сделайте это 65.80% [http://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Present_to_1999] (или, в любом случае, что-то вокруг этого числа). Кроме того, IE8, надеюсь, начинает получать пользователей, кажется, менее загружен проблемами. –

+0

Этот комментарий для: futureelite. Не производите контракт. Если 90% людей используют его, как это может быть глючит! Я знаю, что у IE есть некоторые недостатки, но это действительно улучшается. – Shiva

1

Вы можете использовать выше упоминание тегов с CSS и для IE, используйте DDRoundies с некоторым кодом jquery, чтобы заставить его работать в IE. Это то, что я должен был сделать, чтобы заставить его работать. Хорошим примером этого является сайт http://swiftmailer.org/. они используют то, о чем я упоминал.

2

Использование border-radius.

Поддерживается в IE9 +, Firefox 4+, Chrome, Safari 5+ и Opera.

Для лучшей возможной поддержки браузера, вы должны префикс -webkit- и -moz-:

.round { 
    /* Safari 3-4, iOS 1-3.2, Android 1.6- */ 
    -webkit-border-radius: 12px; 

    /* Firefox 1-3.6 */ 
    -moz-border-radius: 12px; 

    /* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */ 
    border-radius: 12px; 
} 

Если вам нужно решение JavaScript для более старых версий браузеров проверить jQuery Corner.

1

Вот ссылки на два PHP решений на основе:

  1. Apply rounded corners to images является PHP скриптом, который встраивает закругленный угол на самом изображении
  2. PHP rounded corner generator script генерирует четыре угла, которые вы можете поместить над изображением с помощью CSS позиционирование - или вы можете использовать их в своих макетах CSS/HTML, для которых нужны прямоугольники с круглым углом.
+0

спасибо. решение 1 было именно тем, что мне нужно: способ генерировать округленные изображения, которые были только изображениями впоследствии без сложного CSS или javascript. – Steve