Новые статьи

Побитовые операции

Java

В языке Java (да и в других языках тоже) есть такие побитовые операции:
И (AND) &
ИЛИ (OR) |
ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) ^
СДВИГ ВЛЕВО (SHL) <<
СДВИГ ВПРАВО (SHR) >>
ИНВЕРСИЯ ~

И (конъюнкция)
  1. a b  &
  2. 0 0  0
  3. 0 1  0
  4. 1 0  0
  5. 1 1  1
Правило: если хотя бы в одном из битов будет ноль, то результат тоже будет нулём.

Возьмём числа 34 и 27. В двоичной системе счисления им будут соответствовать числа 00100010 и 00011011.
Выполним операцию И для этих двух чисел:
00100010 - 34
00011011 - 27
00000010 - 2
То есть 34 & 27 = 2

ИЛИ (дизъюнкция)
  1. a b  |
  2. 0 0  0
  3. 0 1  1
  4. 1 0  1
  5. 1 1  1
Правило: если хотя бы в одном из битов будет единица, то результат тоже будет единицей.

Выполним операцию ИЛИ для всё тех же чисел 34 и 27.
00100010
Продолжить

Рейтинг:  6  (За: 6 | Против: 0)
Добавлено: 9.05.2014 от aNNiMON

Комментарии (18)

Удаление фона у изображения с текстом с помощью PHP

PHP/MySQL  image processing, графика

Итак, волей судьбы передо мной была поставлена довольно нетривиальная задача - удалить фон у изображения, оставив при этом самое ценное - текст (будь то рукописный или печатный), печать и так далее.
Мучился я с этой ерундой несколько дней, поэтому так просто оставить все в закромах родины я не могу.

Первая мысль что приходит в голову - циклом проходить по всему изображению, узнавать цвет каждого пикселя и сравнивать его с неким числом, светлее которого пиксель считать белым, иначе копировать оригинальный. Такой код у меня остался со времен портирования конвертера шрифтов для PPM на php:
Открыть спойлер

Продолжить

Рейтинг:  2  (За: 4 | Против: 2)
Добавлено: 20.04.2014 от web_demon

Комментарии (0)

Дизайн API библиотеки

Совершенный код  api, library

На написание данной статьи меня натолкнула библиотека EasyCamera, которая упрощает сложный вызов Android Camera API (статья о ней).
Часто приходится сталкиваться с тем, что для работы той или иной библиотеки необходимо прочитать документацию или поискать подробные примеры её использования. Например, чтобы заставить ту же Android Camera API показать экран видоискателя, нужно вызвать сначала метод setPreviewDisplay(holder), а затем уже startPreview(). Это не всегда очевидно и не очень удобно.
Поэтому при проектировании библиотеки следует учитывать некоторые параметры, а именно:
1. Классы и методы должны быть понятны пользователю (в данном случае пользователем
Продолжить

Рейтинг:  4  (За: 5 | Против: 1)
Добавлено: 6.04.2014 от aNNiMON

Комментарии (16)

План для создания программ для андроид

Android

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

Рейтинг:  2  (За: 8 | Против: 6)
Добавлено: 27.03.2014 от samodelkin

Комментарии (7)

Быстрое создание 2D ландшафта

GameDev  java

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

Но есть и более простой и быстрый способ генерирования 2D ландшафта.
Создаём массив размером с ширину игровой области.
int[] blockHeights = new int[width];
Определяем максимальную высоту, чтобы земля не вышла за пределы экрана.
int maxHeight = height / 2;
Рассчитываем
Продолжить

Рейтинг:  11  (За: 11 | Против: 0)
Добавлено: 15.03.2014 от aNNiMON

Комментарии (11)
<< 1 ... 43 44 45 46 47 ... 49 >>

Мы в соцсетях

tw tg yt gt