JAVA → Углубляясь в Graphics2D
Добрый день, Хабражители!
Сегодня я опять постараюсь привлечь Ваше внимание к некоторым сторонам и тонкостям работы с графикой в Java. Я уже кратко описал в предыдущей статье некоторые доступные средства и способы создания компонентов и UI, но это лишь вершина айсберга. Именно поэтому я хочу уделить отдельное внимание (и статью) именно работе с графикой. Естественно имеется в виду Graphics2D – Java 3D это большая отдельная тема (возможно о ней еще пойдет речь в дальнейшем, но не сегодня).
Итак, из предыдущей статьи Вам уже должны быть известны некоторые основы построения компонентов — постараемся расширить эти знания.
Начнем с того, что если рассматривать любой компонент с точки зрения MVC – он состоит из 3ех частей:
Model – модель, которая хранит в себе данные о состоянии компонента и на основе которой строится внешний вид
View – непосредственно визуальное отображения компонента
Controller – отвечает за управление компонентом (события от клавиатуры, мыши и прочих устройств ввода)
Фактически, все стандартные компоненты Swing построены по паттерну MVC. К примеру в JButton — ButtonModel отвечает за поведение и состояние кнопки (Controller и Model), а ButtonUI в свою очередь за внешнее её представление (View). В итоге на долю самого класс JButton практически ничего не остаётся. Речь пойдет по большей части о реализации внешнего представления компонентов (View), и если уточнять — о Graphics2D, на основе которого, фактически, рисуется весь интерфейс.
Не буду спорить, что на данную тему есть множество различного материала, но он настолько раздроблен и раскидан по просторам сети, что мне кажется не лишним собрать всё в одном месте и последовательно изложить.
Сегодня я опять постараюсь привлечь Ваше внимание к некоторым сторонам и тонкостям работы с графикой в Java. Я уже кратко описал в предыдущей статье некоторые доступные средства и способы создания компонентов и UI, но это лишь вершина айсберга. Именно поэтому я хочу уделить отдельное внимание (и статью) именно работе с графикой. Естественно имеется в виду Graphics2D – Java 3D это большая отдельная тема (возможно о ней еще пойдет речь в дальнейшем, но не сегодня).Итак, из предыдущей статьи Вам уже должны быть известны некоторые основы построения компонентов — постараемся расширить эти знания.
Начнем с того, что если рассматривать любой компонент с точки зрения MVC – он состоит из 3ех частей:
Model – модель, которая хранит в себе данные о состоянии компонента и на основе которой строится внешний вид
View – непосредственно визуальное отображения компонента
Controller – отвечает за управление компонентом (события от клавиатуры, мыши и прочих устройств ввода)
Фактически, все стандартные компоненты Swing построены по паттерну MVC. К примеру в JButton — ButtonModel отвечает за поведение и состояние кнопки (Controller и Model), а ButtonUI в свою очередь за внешнее её представление (View). В итоге на долю самого класс JButton практически ничего не остаётся. Речь пойдет по большей части о реализации внешнего представления компонентов (View), и если уточнять — о Graphics2D, на основе которого, фактически, рисуется весь интерфейс.
Не буду спорить, что на данную тему есть множество различного материала, но он настолько раздроблен и раскидан по просторам сети, что мне кажется не лишним собрать всё в одном месте и последовательно изложить.
HTML5 → Визуализация аудио в HTML5
Наше практическое погружение описывает необычный сценарий — мы будем говорить не о том, что может HTML5, а о тех возможностях, которые на сегодня он еще не предоставляет и как эту неувязку можно обходить на практике.

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

HTML5 сегодня — это сериал, концовку которого не знают даже сценаристы, история, в которой есть как практически готовые главы и главы в черновых набросках, так и просто заметки для будущих сюжетов.
Визуализация аудио, точнее принципиальный низкоуровневый доступ к аудио-информации, находится где-то между черновыми набросками и заметками на будущее.
Разработка под Android → Renderscript часть вторая
Renderscript — новая фича, введенная в Honeycomb. Также известно, что ранее Renderscript уже использовался разработчиками Android'a (например встроенные живые обои в 2.1(Eclair) были написаны на нём). Так или иначе, полный доступ к API был открыт только в Honeycomb. В первой вводной статье из блога разработчиков (оригинал|перевод) обещалось, что скоро будет вторая, с более подробным описанием архитектуры Renderscript и примером его использования. Собственно, под катом и то и другое.
Персональные блоги → 2D рендеринг в SDL
Долго я не хотел писать данную статью — думал как подавать материал. Но, видно сегодня удачно сложились звёзды и статье про SDL быть. Хотя, это всего лишь черновой вариант. В будущем данную статью разобью на несколько отдельных — материала и кода достаточно.Для тех, кто ещё не знаком с этой старой, но очень хорошей кроссплатформенной графической библиотекой, я бы советовал прочитать этот пост.
Скачать библиотеку можно с официального сайта, думаю это не составит большого труда. Я не буду вдаваться в подробности, так как статься получится просто необъятной, их можно найти тут.
Сегодня мы напишем с нуля программу, которая зальёт экран тремя цветами.
Программирование → Влюбляемся в F#: Доза 2: Строим фрактальное изображение, или множество Мандельброта своими руками!
На прошлом уроке мы рассмотрели основные понятия функционального программирования, теперь давайте попробуем применить их на практике. Поскольку функциональное программирование, как вы наверное поняли, идеально подходит для решения математических задач, то рассмотрим именно такую задачу — построение изображения множества Мандельброта, самого известного фрактального множества.
Персональные блоги → Глюки в фоновой картинке
Все те кто играет в эту замечательную игру и наблюдает на большинства картах такой эффект
может исправить положение изменив значение gfx_noclip на 1 в файле ~/.teeworlds/settings.cfg.
Решение найдено на офицальном форуме игры.
может исправить положение изменив значение gfx_noclip на 1 в файле ~/.teeworlds/settings.cfg.Решение найдено на офицальном форуме игры.
Windows → Как отлаживают графику Windows в Microsoft
Я в MS уже больше двух лет, и все равно в отладчике провожу большую часть полезного времени (больше только в Outlook).
Раньше я делал Windows Imaging Component, новую библиотеку для работы с изображениями, а теперь DXGI — инфраструктуру hardware acceleration. Первое целиком в user mode, второе и в kernel, и в user, но общий экспириенс дебага в общем-то тот же.
Раньше я делал Windows Imaging Component, новую библиотеку для работы с изображениями, а теперь DXGI — инфраструктуру hardware acceleration. Первое целиком в user mode, второе и в kernel, и в user, но общий экспириенс дебага в общем-то тот же.
Персональные блоги → Вышел GIMP 2.6.0
После не такого уж и длительного перерыва вышел все таки долгожданный релиз растрового графического редактора GIMP.
Ключевые изменения в этой промежуточной версии такие:
— возможность использовать новый движок обработки цвета GEGL
— положительные изменения в интерфейсе
— ну и в целом подрпавлено много…
более подробную инфомацию о нововведениях вы можете прочитать тут (англ.):
gimp.org/release-notes/gimp-2.6.html
gimp.org/downloads/
downloads.sourceforge.net/gimp-win/gimp-2.6.0-i686-setup-1.exe
скачать новый гимп можно пока под линукс и под Windows…
gimp.org/screenshots/alternative-2-6-ui-layout-example-two.jpg
любителям интерфейса а-ля фотошоп советую глянуть это скриншот
и да, подробную информацию о гимпе в целом вы можете найти на моем сайте gimper.ru
Ключевые изменения в этой промежуточной версии такие:
— возможность использовать новый движок обработки цвета GEGL
— положительные изменения в интерфейсе
— ну и в целом подрпавлено много…
более подробную инфомацию о нововведениях вы можете прочитать тут (англ.):
gimp.org/release-notes/gimp-2.6.html
gimp.org/downloads/
downloads.sourceforge.net/gimp-win/gimp-2.6.0-i686-setup-1.exe
скачать новый гимп можно пока под линукс и под Windows…
gimp.org/screenshots/alternative-2-6-ui-layout-example-two.jpg
любителям интерфейса а-ля фотошоп советую глянуть это скриншот
и да, подробную информацию о гимпе в целом вы можете найти на моем сайте gimper.ru