Обновить
18

Векторная графика *

SVG и компания

Сначала показывать
Порог рейтинга
Уровень сложности

Карта метро Москвы на Canvas

Время на прочтение1 мин
Количество просмотров36K
Идея попробовать нарисовать карту появилась после просмотра карты метро в Википедии в формате SVG. В Firefox она открывается долго, к тому же при разрешении 1600x1300 она не вмещается в экран, а скроллинг по ней работает тоже очень долго. Стало интересно, а в Canvas она тоже будет тормозить? Решил нарисовать свою версию карты метро Москвы в качестве очередного демо для проекта dbcartajs.

image
Читать дальше →

Звездное небо на Canvas

Время на прочтение2 мин
Количество просмотров11K
В этой статье я хочу более подробно рассказать о примере Starry Sky (Звездное Небо), реализованном с помощью скриптов dbcartajs (о них написано в предыдущей статье). Он включает в себя идеи других «звездных» проектов, которые были портированы на JavaScript. Рассмотрим их подробнее. Алгоритм формирования звездного неба был позаимствован из проекта Marble KDE (плагин stars), расчет положения планет построен на основе замечательной статьи шведского астронома Поля Шлетера, модель движения космических аппаратов SGP4/SDP4 предоставлена модулем satellite-js, формулы солнечного терминатора (ночной зоны) взяты с астрономического форума. Вид орбит как эллипсов (мгновенная орбита) подсмотрен у Сelestia.
Starry Sky
Читать дальше →

Карта с проекциями из Proj4js на Canvas

Время на прочтение2 мин
Количество просмотров7.7K
Решил написать пост о популярном нынче Canvas из HTML5 и о своем проекте dbcartajs, его использующем. Почему Canvas? Немного истории. Прежде для создания изображений, иллюстрирующих различные расчетные модели (например, вывод окружности по радиусу и центру в координатах, вывод многоугольника с количеством вершин N и площадью S, вывод окружности на сферу и т.д.), я и мои коллеги по работе в институте использовали различные элементы управления из разных сред разработки: PictureBox их VB6, QPainter и QCanvas из Qt, Canvas из Tk и, наконец, создание изображений по mapfile из MapServer. Позже после знакомства с возможностями HTML5 я решил перейти на использование Canvas и Web-разработку с JavaScript. Удобно — для отладки и разработки нужен лишь браузер.
imageimage
Читать дальше →

Интерактивный глобус — SVG versus Canvas

Время на прочтение6 мин
Количество просмотров52K
Доброго времени суток, уважаемый читатель! В прошлый раз мы изучали процесс создания интерактивной карты-хороплета, теперь предлагаю немного усложнить задачу и перейти к трёхмерной модели Земли, именуемой в народе глобусом. Глобус делать будем двух видов: SVG версия и Canvas версия. В обоих случаях будем использовать JavaScript библиотеку d3.js. У каждого варианта свои преимущества. В моём исполнении Голубая планета выглядит следующим образом:

Планета Земля

А как создать свой собственный Мир с материками и океанами можно узнать под катом.
Читать дальше →

Интерактивная SVG картограмма с помощью d3.js

Время на прочтение7 мин
Количество просмотров92K
Приветствую вас, хаброжители! Сегодня я расскажу вам как сделать интерактивную SVG картограмму при помощи d3js.org, о возможностях этой JavaScript библиотеки в общем, а также придётся немного разобраться в том как и где лучше хранить геоинформацию для веба. В финале мы получим следующее:

Картограмма
Начать сие увлекательное путешествие можно под катом.
Читать дальше →

Восстановление битого файла Coreldraw

Время на прочтение1 мин
Количество просмотров30K
Пройдя двухчасовой путь от «что делать» до «фуух», решил поделиться с хабражителями способом восстановления совсем убитого файла Coreldraw после краша этой программы.

Мы рассмотрим самую неприятную ситуацию.
Итак: вы работаете в Coreldraw, автосохранение и резервные копии включены, идет 2 или 5 час работы, и тут внезапно корел падает. В нашей ситуации корел, агонизируя, перетер все темпы и резервные копии. У вас только ваш файл, при открытии которого вы видите пустой лист.
Читать дальше →

Анализ применения SVG в качестве background-image

Время на прочтение2 мин
Количество просмотров47K

В последнее время все чаще появляются статьи, в которых авторы рекомендуют использовать SVG для backgroud-image. Действительно, применение SVG приносит большую пользу. Во всех прочитанных статьях очень вскользь упоминалось про производительность отрисовки SVG, что это более затратная операция, так как браузеру необходимо каждый раз заново отрисовывать растр.

И вот в один прекрасный день, открыв одно веб-приложение, я заметил, что мой браузер безумно «пожирает» память — одна вкладка «ела» около 600 МиБ. На МacBook с ретиной дела обстояли еще хуже. С этого момента началось расследование, куда же течет память. Кому интересно, добро пожаловать под кат.
Читать дальше →

Головоломка Mercator для знатоков географии

Время на прочтение1 мин
Количество просмотров72K


В этот пятничный день компания Google выпустила географический паззл Mercator в качестве примера использования Google Maps API. Нужно положить кусочки суши в соответствующие места на карте, учитывая развёртку сферы на плоскость — проекцию Меркатора. Как известно, в такой проекции масштаб на карте не является постоянным, а увеличивается от экватора к полюсам как обратный косинус широты. Соответствующим образом пересчитываются SVG для каждого элемента паззла.

Настройка Inkscape для работы с черно-белой графикой

Время на прочтение3 мин
Количество просмотров25K
image

Я с детства неровно дышал к туши и перу. С момента появления планшета подыскивал графический редактор, который бы умел:

  • работать с планшетом, реагировать на силу нажатия пера;
  • работать с вектором, чтобы не приходилось думать о масштабировании;
  • быстро переключаться между чёрным и белым (или чёрным и ластиком);
  • удобно масштабировать изображение для проработки мелких деталей;
  • поддерживать работу со слоями и группами.

Восторгу нет предела! Недавно я обнаружил, что всё вышеперечисленное можно найти в бесплатном лёгком редакторе Inkscape.

Вкратце расскажу свой рецепт настройки редактора для рисования схем, эскизов, и другой чёрно-белой графики.
Читать дальше →

Cила CSS поможет тебе принять форму, SVG!

Время на прочтение8 мин
Количество просмотров106K

Нам нужно:
  1. Установить на сайте собственные иконки с помощью SVG.
  2. Они должны управляться с помощью CSS (форма, размер, заливка, эффекты в том числе и их поведение).
  3. Они должны иметь маленький вес и находиться в одном месте для экономии http запросов.
  4. Работать во всех основных современных браузерах.

демо
Читать дальше →

Немного о создании демок, часть 1

Время на прочтение8 мин
Количество просмотров18K
Здравствуйте!
Эта статья, прежде всего для новичков, тех, кто только решил заняться демосценой, если статья будет положительно принята сообществом, то я сделаю цикл из нескольких статей о создании демок. Каждая статья будет короткой, но в конце каждой статьи будет вполне рабочий пример.
Сразу предупрежу, эта статья не о том как делать Demo с помощью OpenGL, DirectX, и миллионов шейдеров, об этом есть много хороших статей, я буду писать о рисовании в памяти.
Подробности

Шпаргалка по фильтрам Inkscape

Время на прочтение1 мин
Количество просмотров17K
Inkscape
Представляю сообществу шпаргалку по фильтрам Inkscape на русском языке. В шпаргалке приведены примеры использования всех векторных фильтров. Использовался Inkscape 0.48.4 с русской локализацией.
Читать дальше →

Рисуем снежинки с помощью SVG

Время на прочтение1 мин
Количество просмотров11K
image

Идею создания снежинок использованную в этом посте я позаимствовал из детского сада. Там складывают лист бумаги в несколько раз, вырезают ножницами дырочки и после разворачивания получают снежинку. В данном случае нам потребуется нарисовать одну шестую и потом её копии повернуть на 60 градусов 5 раз.

Такие снежинки можно использовать в новогодних поздравлениях. Для затравки я сделал вот такую открытку.

Читать дальше →

Ближайшие события

Кроссбраузерность в SVG

Время на прочтение3 мин
Количество просмотров21K
Продолжаю серию топиков про SVG. Векторные SVG-элементы корректно отображаются в современных браузерах, но как реализовать поддержку в старых версиях? Разберемся с кроссбраузерностью векторной графики.

image

Предыдущие топики о SVG:

Читать дальше →

Зверюшки на CSS3 transitions & transforms

Время на прочтение4 мин
Количество просмотров30K

Пора


Одним прекрасным вечером увидел одну забавную картинку с подобными зверюшками и решил вдохнуть в них жизнь. Решил я это сделать ради научного эксперимента: выявить, действительно ли эти нововведения можно претворять в жизни.
Более 65% пользователей уже могут увидеть transitions в действии.

CSS


Демо Код на jsfiddle
Так как я люблю CSS, решил сделать интерактивных зверюшек на чистом CSS, без каких-либо скриптов.
Благодаря псевдоклассу :checked, можно реализовать действие по клику, что обычно приписывается на js. А также используя уже привычные псевдоклассы :hover и :active, я оживил зверюшек:
.pavepy .body .hand.left,
.pavepy:hover .body .hand.right,
input:checked + .pavepy .body .hand.right,
input:checked + .pavepy:hover .body .hand.left,
input:checked + .pavepy.fox .head .ear.right {
	-webkit-transform: rotate(-30deg);
	-moz-transform: rotate(-30deg);
	-ms-transform: rotate(-30deg);
	-o-transform: rotate(-30deg); 
	transform: rotate(-30deg);
}

Читать дальше →

Текст в SVG

Время на прочтение3 мин
Количество просмотров108K
Продолжаем изучать векторную графику, на этот раз разберемся с текстами в SVG, которые позволяют делать гораздо больше, чем обычный HTML.

image

Предыдущие статьи: Знакомство с SVG-графикой и Стилизация SVG-графики
Читать дальше →

Стилизация SVG-графики

Время на прочтение2 мин
Количество просмотров29K
Продолжаем изучать SVG-графику, на этот раз коснемся стилизации.
Первая часть: Знакомство с SVG-графикой.



Демонстрация примеров / Скачать исходники

Изменение внешнего вида SVG-элементов аналогично HTML, с некоторыми особенностями. Например фон назначается свойством fill, а не background-color, граница — stroke вместо border. Если вы работали с Adobe Illustrator, подобная терминология будет знакома.
Читать дальше →

Знакомство с SVG-графикой

Время на прочтение3 мин
Количество просмотров305K
Этот пост — первый из серии статей о SVG (Scalable Vector Graphic), рассказывающий об основах векторной графики на сайте.



Векторная графика широко применяется в полиграфии. Для веб-сайтов существует SVG, которая согласно официальной спецификации на w3.org является языком для описания двумерной графики в XML. SVG включает в себя три типа объектов: фигуры, изображения и текст. SVG существует с 1999 года, а с 16 августа 2011 включена в рекомендации W3C. SVG сильно недооценена веб-разработчиками, хотя имеет несколько важных преимуществ.
Читать дальше →

Векторная графика на рассеянных кривых

Время на прочтение2 мин
Количество просмотров35K

Векторное изображение на рассеянных кривых

Долгое время возможности векторной графики были ограничены только линейными и круговыми градиентами, в результате чего можно было создавать лишь «плоские» изображения с определённым набором фигур. Настоящим прорывом стали смешанные градиенты (gradient mesh), которые впервые сделали векторную графику фотореалистичной. Группа французских исследователей под руководством Александрины Орзан (Alexandrina Orzan) из Технологического института в Гренобле в 2008 году сделала следующий шаг на пути развития векторной графики. Они разработали инструменты для генерации векторной графики на рассеянных кривых (diffusion curves), в том числе программу для автоматической конвертации растровых изображений в векторные.
Читать дальше →

Готовим пиццу с помощью SVG

Время на прочтение5 мин
Количество просмотров4K
pizza

Перевод с английского: How to cook Pizza with SVG?

В этой статье мы научимся готовить низкокалорийную пиццу, которая должна понравиться любителям SVG. Пицца будет состоять из svg-теста и вкуснейших топпингов.

Читать дальше →

Вклад авторов