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

Разное

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

 

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

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

тема: Круглые картинки
 
 автор: Rename   (24.07.2008 в 16:47)   письмо автору
 
 

Сегодня друг-дизанер ошарашил вопросом: а бывают ли круглые картинки? Или любой другой формы, не прямоугольной?
Если задать прозрачный фон, то он будет будет все равно частью картинки, а как сделать абсолютно круглую картинку?

  Ответить  
 
 автор: Trianon   (24.07.2008 в 16:54)   письмо автору
 
   для: Rename   (24.07.2008 в 16:47)
 

Бывают.
Бумага, циркуль, ножницы.
Прямые руки. Вуаля.

Развертка изображения что на дисплеях, что на принтерах, построена по декартовой (т.е. прямоугольной) системе координат.
Если, конечно, это не дисплей РЛС . Там с/к - полярная. Но и картинка, заметьте - круглая.

  Ответить  
 
 автор: Rename   (24.07.2008 в 17:30)   письмо автору
 
   для: Trianon   (24.07.2008 в 16:54)
 

Я знаю что такое круговая развертка, поверьте.:) Пилообразное напряжение, отклоняющие катушки, СИ, кодирование азимутов антенны)))
Я работаю с ИКО РЛС. Я-военный. (И правильно, кстати, называется индикатор, и не дисплей)
И вообще при чем здесь развертка, не пойму.

Нужно получить именно круглую картинку!

  Ответить  
 
 автор: GeorgeIV   (24.07.2008 в 17:32)   письмо автору
 
   для: Rename   (24.07.2008 в 17:30)
 

Цель какая? картинка ради картинки?

  Ответить  
 
 автор: sim5   (24.07.2008 в 17:33)   письмо автору
 
   для: Rename   (24.07.2008 в 17:30)
 

Имено круглой нет, если говорить о растре. Если говорить о векторной графике, то это окружность, но опять таки при выводе на растровый дисплей, она будет занимать площадь квадрата. Если хотите, чтобы за гаранью окружности что-то видно было, то эта область должна быть прозрачной. А вы о чем?

  Ответить  
 
 автор: GeorgeIV   (24.07.2008 в 17:16)   письмо автору
 
   для: Rename   (24.07.2008 в 16:47)
 

смотря ведь какая цель, и чем мешает прозрачный фон?

  Ответить  
 
 автор: Rename   (24.07.2008 в 18:04)   письмо автору
 
   для: GeorgeIV   (24.07.2008 в 17:16)
 

>смотря ведь какая цель, и чем мешает прозрачный фон?
мешает. Долго объяснять, он делает карту города с выбором районов города, клик на районе- выделяет его, закрашивая серым.Но, закрашивая, "дополняет" прозрачной областью многоугольную форму района города до прямоугольника, "накрывая" тем самым соседний район.Почти полностью. И на соседний район уже не кликнуть.

Например: есть два одинаковых прямоугольных треугольника, соприкосающихся гипотенузами.
Кликнули на одном треугольнике, мы его подзагрузили, он выделился, но своей "прозрачностью" полностью перекрыл второй треугольник.

  Ответить  
 
 автор: sim5   (24.07.2008 в 18:10)   письмо автору
 
   для: Rename   (24.07.2008 в 18:04)
 

Флешь.

  Ответить  
 
 автор: GeorgeIV   (24.07.2008 в 18:24)   письмо автору
 
   для: Rename   (24.07.2008 в 18:04)
 

а что мешает применить AREA MAP? Любую форму можно сделать для клика, если проблема в этом

  Ответить  
 
 автор: sim5   (24.07.2008 в 18:36)   письмо автору
 
   для: GeorgeIV   (24.07.2008 в 18:24)
 

Так я понял, что потом, на выбранную горячую область накладывается изображение маркер, и этот объект мешает кликать на участки соседней области, которые перекрываются маркером.

  Ответить  
 
 автор: Rename   (24.07.2008 в 20:13)   письмо автору
 
   для: sim5   (24.07.2008 в 18:36)
 

Да-да

  Ответить  
 
 автор: ddhvvn   (24.07.2008 в 19:13)   письмо автору
 
   для: GeorgeIV   (24.07.2008 в 18:24)
 

присоединяюсь, пусть использует map

изначально картинка будет все равно прямоугольная, но вот область можно сделать какую-угодно )

  Ответить  
 
 автор: Киналь   (25.07.2008 в 00:03)   письмо автору
 
   для: Rename   (24.07.2008 в 18:04)
 

Накладываемую картинку тоже сделайте картой.

  Ответить  
 
 автор: BinLaden   (24.07.2008 в 19:00)   письмо автору
 
   для: Rename   (24.07.2008 в 16:47)
 

Абсолютно круглого вообще ничего не бывает. Точно так же, как и не бывает последней цифры после запятой у числа Пи:)

  Ответить  
 
 автор: Rename   (24.07.2008 в 20:31)   письмо автору
 
   для: Rename   (24.07.2008 в 16:47)
 

И вообще кто-нибудь может сказать: Да, я видел круглую картинку. Её обтекал текст.
Ммм??

  Ответить  
 
 автор: MAR_NIKOZA   (24.07.2008 в 20:58)   письмо автору
 
   для: Rename   (24.07.2008 в 20:31)
 

А какой формат будет иметь такая картинка7

Если не ошибаюсь, вообще все известные форматы графики имеют
стандартную структуру координатной сетки пикселов XY

А в круге как координаты реализовать...

  Ответить  
 
 автор: GeorgeIV   (25.07.2008 в 10:24)   письмо автору
 
   для: MAR_NIKOZA   (24.07.2008 в 20:58)
 

в мапе задается набор координат, позволяющий описать любой сложный многоугольник
у вас будет базовая карта и несколько карт с районами, где вокруг района - прозрачность. сколько карт, столько и мапов делаете.

  Ответить  
 
 автор: Valick   (24.07.2008 в 21:22)   письмо автору
 
   для: Rename   (24.07.2008 в 20:31)
 

Накладываете встык сотню квадратных картинок образующих круг.

  Ответить  
 
 автор: Trianon   (25.07.2008 в 00:13)   письмо автору
 
   для: Valick   (24.07.2008 в 21:22)
 

>Накладываете встык сотню квадратных картинок образующих круг.
...радиусом шесть пикселей :)

  Ответить  
 
 автор: Axxil   (25.07.2008 в 12:43)   письмо автору
3 Кб
 
   для: Rename   (24.07.2008 в 20:31)
 

Круглую картинку можно собрать. Если исходное изображение разбить на узкие полоски переменной длины. И потом их собрать на странице. (в аттаче очень схематично)
Но это способ для настоящих джыгитов :)

  Ответить  
 
 автор: ddhvvn   (25.07.2008 в 14:10)   письмо автору
 
   для: Axxil   (25.07.2008 в 12:43)
 

Читай, извращенцев

  Ответить  
 
 автор: mechanic   (25.07.2008 в 14:13)   письмо автору
 
   для: Axxil   (25.07.2008 в 12:43)
 

большей гибкости можно достичь, выводя картинку попиксельно )) из заранее заготовленных картинок размером 1px (правда, опять же квадратных, пиксель закруглить вряд ли получится :))
можно иметь набор разноцветных 1рх-картинок, тогда можно еще и в цвете фигачить )

  Ответить  
 
 автор: sim5   (25.07.2008 в 16:34)   письмо автору
14 Кб
 
   для: Rename   (24.07.2008 в 16:47)
 

ims.php

<?
$map 
= isset($_GET['map']) ? "?map=" intval($_GET['map']) : "";
?> 
<img id="im" src="map.php<?=$map;?>" alt="" width="400" height="300" border="0" usemap="#maps">
<map name="maps">
<area shape="poly" coords="1,3,37,25,69,13,141,53,140,145,56,171,17,153,8,116,10,50" 
href="ims.php?map=1">
<area shape="poly" coords="144,54,220,18,291,58,268,92,287,134,215,149,174,152,143,144" 
href="ims.php?map=2">
<area shape="poly" coords="294,58,372,52,398,108,384,139,393,169,371,222,338,222,304,191,333,157,289,133,270,92" 
href="ims.php?map=3">
<area shape="poly" coords="58,173,142,147,172,154,214,152,231,212,180,259,180,290,126,278,35,298,15,260,43,234,34,197" 
href="ims.php?map=4">
<area shape="poly" coords="216,151,218,151,289,136,329,158,301,192,337,224,312,271,244,258,183,289,182,260,234,213" 
href="ims.php?map=5">
</map>

map.php

<?
$map 
= array(1=>
array(
1,3,37,25,69,13,141,53,140,145,56,171,17,153,8,116,10,50),
array(
144,54,220,18,291,58,268,92,287,134,215,149,174,152,143,144),
array(
294,58,372,52,398,108,384,139,393,169,371,222,338,222,304,191,333,157,289,133,270,92),
array(
58,173,142,147,172,154,214,152,231,212,180,259,180,290,126,278,35,298,15,260,43,234,34,197),
array(
216,151,218,151,289,136,329,158,301,192,337,224,312,271,244,258,183,289,182,260,234,213));
$idm = isset($_GET['map']) ? intval($_GET['map']) : 0;
$im imagecreatefromjpeg("map.jpg");
if (
$idm) {
  
$col imagecolortransparent($imimagecolorresolvealpha($im25551070));
  
imagefilledpolygon($im$map[$idm], count($map[$idm])/2$col);
}
header('Content-Type: image/jpeg');
imagejpeg($im);
imagedestroy($im);
?>

Картинка для этого примера

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

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