пятница, 6 декабря 2013 г.

Жесты

Жесты используются при работе с тач-экраном и позволяют пользователям взаимодействовать с приложением манипулируя экране устройства определенным образом. Основной набор жестов, который поддерживается в ОС Android по умолчанию.
Touch (Касание)
Действие по умолчанию
касание - снятие
Long press (Касание с удержанием)
Ввод данных в режиме выбора из списка типа контекстного меню, а также выделение текста. Избегайте долгого касания в этом жесте при вызове контекстного меню
касание + ожидание - снятие
Swipe (Скролинг)
Скролинг содержимого, или переход между окнами, но в той же иерархии.
касание+движение-снятие
Drag (Тащить)
Упорядочение данных в представлении (или перемещение данных в контейнер (например папок на начальный Экран).
(касание + ожидание) + движение - снятие
Double touch (Двойное касание)
Zoom содержания. Также используется в качестве вторичного жест для выделения текста.
Два касания с коротким перерывом
Pinch open
++Zoom контента. Величина zoom пропорциональна в пределах растояния между пальцами
касание двумя пальцами рядом + раздвигание пальцев - снятие
Pinch close
--Zoom контента
касания двумя пальцами не рядом + соединение в одну точку - снятие

понедельник, 18 ноября 2013 г.

Blender вместо фотошопа


Это первый урок из серии о том как можно использовать Blender вместо известных всем редакторов изображений, которые мы называем просто фотошоп.
В этом уроке показано как можно использовать блендер, чтобы изменить размеры холста исходного изображения, а также его размер. и так же произвести простые преобразования как обрезка или преобразование формата вывода

пятница, 15 ноября 2013 г.

Использование команды WRAP для объекта Text


Урок рассказывает, как можно использовать команду WRAP Edit-mode в Blender, чтобы разместить текст вдоль окружности с центром вращения в положении курсора и радиусом равным растоянием от оригина до центра вращения

понедельник, 22 июля 2013 г.

Отключение гостевой и удаленой авторизации в Ubuntu 12.10+

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

Открываем терминал и вводим

sudo gedit /etc/lightdm/lightdm.conf

и в открытом файле в редакторе с правами root вводим в конец две строчки

greeter-show-remote-login=false
отключение удаленой авторизации
allow-guest=false
отключение гостевого режима

должно выглядеть так

[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
greeter-show-remote-login=false
allow-guest=false

Сохраняем файл и перезагружаемся.

воскресенье, 21 июля 2013 г.

top

Для посмотра процессов в вашем компьютере достаточно в терминале ввести команду

top

и тут же в терминале наблюдаем наши процессы и их динамику

Выход стандартый

воскресенье, 9 июня 2013 г.

Манифест

Итак мы создали свой первый проект для Андроида и теперь следует переходить к его частностям, и конкретике.

Первое что мы сделаем это найдем наш проект в системе "файловых координат" вашего девайса, и поэтому я для вас очертил его местоположение на этом рисунке в виде пути к головной папке всех проектов в вашей системе (см. текст обведенный красным прямоугольником). Но это не всегда обязательно так. Реально проект может находится где угодно, но только проекты созданые из ядра инструментария AIDE. Итак полный путь к папке, с учетом имени твоего проекта будет таким

/sdcard/AppProjects/Имя_проекта

Открываем эту папку и мы видим, что в ней несколько других папок и файлов. На момент начала проекта нас интересует пока только - 2 папки (res, src) и один файл, который во всех проектах имеет одинаковое название, и который определяет наш текущий проект . Этот файл называется - AndroidManifest.xml

Можно не останавливаться на этом файле и сразу переходить к сути проекта, но я настойчиво советую его открыть и постараться изучить несколько его аспектов, которые, помогут тебе реально понимать устройство проекта, тем более наш проект пишется в ручную без специальных средств синтеза конструкций типа ads или eclipse. Так же тебе должно быть понятно, что все в проекте пишется в духе этого файла и поэтому любая конструкция описательная в формате XML должна начинаться с такой конструкции

<?xml version="1.0" encoding="utf-8"?>

Это объявление говорит всем, что далее следует текст формата xml версии 1.0 и в кодировке utf-8. Именно эта декларация позволяет всем без дополнительных проверок использовать кодировку в том виде как она представлена - и в конечный результат вставлять эти данные так как требуется в реалии. К примеру если выходной документ будет сформирован в другой кодировке, например КОИ-8Р (на сегодня экзот))), то приведенный текст будет перекодирован из utf-8 соответствено в кои-8.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.mycompany.myapp"
  android:versionCode="1"
  android:versionName="1.0" >

  <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />

  <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
      android:label="@string/app_name"
      android:name=".MainActivity" >
      <intent-filter >
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>
</manifest>

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

Любой манифест всегда начинается с тега manifest, и им заканчивается, а его главные атрибуты oпределяют


xmlns:android="http://schemas.android.com/apk/res/android"
пространство имен - этот параметр всегда применяется в любом документе нашего проекта как коннектор пространства имен в системе android
package = "com.mycompany.myapp"
идентификатор пакета, который однозначно определяет принадлежность к проекту

Следующий, правда не обязательный, но информационно очень нужный тег определяющий диапазон использования нашего проекта на различных девайсах это тег uses-sdk. Его атрибуты мы все объяснять не будем сейчас, но остановимся лишь на двух, а именно

android:minSdkVersion="8"
атрибут номера версии SDK минимального использования в девайсах. Если в твоем девайсе используется SDK более ранней версии, чем указан в этом параметре, то твоему пакету будет отказано в установке в девайс
android:targetSdkVersion="16"
параметр указывает на текущую версию SDK. Этот параметр часто становится источником многих ошибок, из-за которых пакет после компиляции и установке в девайс не запускается, и причина здесь в соответствии версии SDK твоего девайса и установленной в параметре. В любом случае версия твоего SDK должна быть равна или меньше этого параметра, иначе при запуске пакет запустится с ошибкой

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

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

!! до встрече.

суббота, 8 июня 2013 г.

Начало

Первое что мне пришло в голову это начать свой проект. Обычно для этого есть много различных средств для создания проекта для Андроида и их описано в инете не меряно. Но я погрешу на истину и расскажу только о том варианте, который сейчас начинает раскручиваться самой компанией Google, в рамках создания специализированной студийной оболочки, так и называемой в ходу, как Android Studio

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

Итак вся наша первоначальное знакомство с AIDE мы начнем с того как создать проект в рамках приведенной выше системы. Приложение дает возможность создавать вам проект в двух системах синтеза. Это


Android SDK c Java/Xml
здесь проекты используют полный набор средств системы создания проектоав на основе языка Java, так же включен интеректавный помошник, позволяющий неопытным юзерам использовать прямые вставки из API Android
Android NDK c C/C++
проекты созданые с использованием пакета NDK позволяют тебе создавать приложения на языке С и С++ - фактически в машинных кодах. В отличии от первого варианта - все приходится делать вручную

Начинаем с самого простого это кликаем по значку и тут же появляется приглашение к созданию любого из шести проектов. Нас сейчас не должны волновать все проекты, нас сейчас интересует только первый - который построен на создании рабочего приложения на основе Android SDK c Java/XML. В нашем случае мы выбираем конкретно "Android Hello World App" (см п.1).

Это очень простой проект, но достаточный для понимания и изучения всего процесса построения приложения в рамках текущего инструмента. Далее мы должны ввести имя проекта (см.п.2). Здесь желательно, чтобы не было проблем с совместимостью - использовать латиницу. Разработчики системы пректов, так же обязывают чтобы первая буква была прописная, но это необязательно.

Основной синтаксис всех символов проектов представляет собой любой набор букво-цифр на латыне, точку и знак почеркивания _, причем обязательно каждый символ должен начинаться с буквы.

Следующим обязательным моментом при создании проекта - это определение имени проекта (см.п.3). Правила для этого пункта имеют некоторые особености, главная из которых - это уникальность этого имени, так как оно фигурирует в GooglePlay - как идентификатор твоего приложения и проекта, поэтому форма этого поля такая необычная

Форма имени пакета состоит обычно из нескольких имен соединеных точкой и представляет собой формат доменого имени в in-arpa - т.е написаная шиворот на выворот.

Здесь допустимы любые комбинации, но только не должно быть прописных букв и названий проектов начинающихся с com.example.* Этот префикс пакета не принимает Google Play - для размещения приложений в его системе.

Мы не будем сейчас объяснять п.4 - для вас важно лишь то что там должна стоять галочка.

После того как была заполнена эта форма - кликаем по Create. В противном случае нажимает Cancel - эта ветвь позволяет открыть уже созданый проект, или запустить создание проекта - из формы предлагаемой в головной папке проекта.

!!! все.

суббота, 23 марта 2013 г.

Отладка скриптов.

Многии знают как трудно приходится на отладке приложения, особенно в режиме он-лайн. Здесь маленький zest не помешает.
Ни когда не используйте совместно с вашим скриптом, который вы отлаживаете , другие скрипты упакованые в строчки (min|pak - форматы)
Это резко ограничивает возможности вашего отладчика ибо его система протоколирования начинает поедать громадные ресурсы, сохраняя каждую точку и расчеты для нее, вместе с однострочной копией самого упакованого скрипта.
Обычно разработчики для таких целей всегда предлагают девелоперные версии. Но ими редко кто пользуется.

воскресенье, 10 марта 2013 г.

Добро пожаловать на сайт flat assembler!

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

Скачать
Здесь вы можете скачать flat assembler - Ассамблер-компилятор с открытым кодом для x86 и x86-64 процессоров, включая архитектуры AMD64 и Intel 64 Модули включают пакеты для DOS, Windows, Linux и Unix с C-библиотеками.
Документация
Все имеющиеся документы для flat assembler, как языка ассемблера, учебники и другие руководств и статьи о сборке программ собраны здесь.
Примеры
Здесь вы можете просмотреть и скачать примеры проектов, выполненных под специфику flat assembler, причем они приводятся с открытым полным исходным кодом от самих авторов. Это сделано, для того, чтобы помочь другим людям более полно понять природу примера и его констукцию.
Форум
Здесь можно задать вопросы об устройстве компилятора, и получить ответы на вопросы, которые Ты не нашел в документации, отчеты об ошибках, или просто пообщаться с другими людьми

пятница, 1 марта 2013 г.

Параметры геометрии изображения

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

-adaptive-resize -border -borderwidth -chop -crop -density -extent -extract -frame -geometry -iconGeometry -liquid-rescale -page -region -repage -resize -sample -scale -shave -splice -thumbnail -window

Описание геометрии может иметь любую из форм, перечисленных ниже, но общая форма всегда имеет вид

 size[offset] 

-- где size - определяет будующую размерность результата, а необязательная - offset, величину смещения точки отсчета, которая по умолчанию имеет значение (0,0), что соответствует верхнему левому углу изображения. В общем случае первого аргумента может и не быть, и форма значений аргумента будет иметь только параметры задаваемые offset - смещением

Форма представления размерности (size)
scale%
Процент изменения ширины и высоты от исходного изображения
scale-x%xscale-y%
Независимый процент изменения каждой размерности по ширине и высоте для результата преобразования
width
Ширина результата преобразования в пикселах, с пересчетом высоты изображения по исходному соотношению
xheight
Высота результата преобразования в пикселах, с пересчетом ширины изображения по исходному соотношению
widthxheight
Максимально возможные значения размерностей с учетом исходного соотношения
widthxheight^
Минимальные возможные значения размерностей с учетом исходного соотношения
widthxheight!
Новые значения размерностей без учета исходного соотношения
widthxheight>
Уменьшает до указаных размерностей соответственно ширину и высоту при условии если они их больше
widthxheight<
Увеличивает до указаных размерностей соответственно ширину и высоту при условии если они их меньше
area@
Изменяет до указаного размера в пикселах изображение с учетом исходного соотношения ширины и высоты
Форма представления смещения (offset)
{size}+|-x+|-y
Горизонтальное и вертикальное смещение относительно верхнего левого угла исходного изображения. При указании только одного значения эта величина распространяется и для другого. Смещение не используются при процентных и площадных заданиях размерности результата

Удаление плагина вручную

Если вы не можете использовать программу деинсталляции для удаления плагина, вы можете удалить его вручную

В панели адреса, наберите about:config и нажмите Enter. Может появится страница предупреждения

Щелкните по "Я обещаю, что буду осторожен!", чтобы перейти на страницу about:config. Найдите параметр: plugin.expose_full_path. Дважды щёлкните по параметру plugin.expose_full_path, чтобы изменить его значение на true.

Наберите about:plugins в панели адреса для отображения страницы - "Включённые плагины". У каждого плагина на странице "Включённые плагины" есть строка "Файл:" с путём к файлу. Перейдите в папку, отображаемую в пути плагина, который вы хотите удалить. Переименуйте указанный файл, дав ему какое-нибудь другое имя - например npswf32 в Xnpswf32. Верни значение false параметру plugin.expose_full_path в списке на странице about:config, чтобы избежать раскрытия пути к плагину веб-сайтам.

Плагин будет удалён.

четверг, 28 февраля 2013 г.

Обработка документов или чертежей в растровом редакторе изображений

Часто бывает что нужно показать некоторый документ. Это может быть справка или типульный лист, или просто автограф; и мы его просто сканируем и вставляем в качестве изображения. Вот например такой документ
Обычный лист сделаный на сканере. Но потом его обработали и сохранили в формате .JPEG - это обычный формат в котором сохраняют фотки в основной своей массе. Размер этого ни чем не призентабельного изображения всего какие то 150 килобайт. Все бы ни чего , как шумы на листе или цвет бумаги листа, блики и отражения можно было бы не заметить, но размер вот что больше всего поражает, тем более когда этот лист нужно посмотреть в инете, на котором нет ни чего примечательного кроме самого изображения. Сразу возникает вопрос, а как его можно сократить, если известно, что формат изображений в jPEG - наиболее ужимаемый и компактный, но как это оказалось совсем не так. И как сделать меньше сейчас мы расскажем здесь


Это тот же самый лист , но уже без огрехов сканирования, цвета бумаги, как ни странно имеющий размер всего 22 килобайта, т.е как минимум мньше в 5-6 раз, причем формат его уже не такой компактный ибо это файл в формате PNG, который как известно на порядок менее копактен. Вы можете спросить что случилось с листом, а ответ лежит просто на поверхности, перед вами тот случай когда умелое использование формата PNG сокращает объем графической информации существено, не нарушая целостности самого изображения.

четверг, 14 февраля 2013 г.

Вышивка

Меня всегда интересовал вопрос
-- как создать карту для вышивки.

Карта это подбор по цветам ниток для вышивки картинки как образа. На данный момент существует много програмных комплексов, которые синтезируют такую карту, привязывая ее к определенным артикулям пряжи для того чтобы в будущем, с помощью нее запрограмировать станок, который и будет вышивать. Но у нас нет станка, пока нет)) А так же нас больше интересует процесс превращения картинки в эту карту. Так сказать обработка изображения, ибо эта процедура связана с математикой и комбинаторикой, а не с технической реаллизацией, к которой мы позже вернемся, постепенно понимая весь алгоритм превращения некоторого дизайна в конечную конструкцию. Можно наверно и так же по-интересоваться историей этого промысла или рукоделия. Некоторый интерес представляет и сами станки. Ну и конечно работы .

понедельник, 4 февраля 2013 г.

Установка Adoba Flash Player

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

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

Итак переходим к конкретным рекомендациям в ситуации когда плагин рушится в Вашей системе. Для этого нужно точно знать поддерживается вашим процессторм расширеный набор команд SSE2.

Если да - то устанавливается актуальная версия плагина 11+, с одним замечанием, что для операционной системы типа Linux можно установить только версию 11.2

Если нет - то сразу не тратя время нужно установить скачать последний актуальный плагин версии 10.3 и в зависимости от платформы его обновить. Для Windows и Mac - предусмотрены специальные программы и методика, которая состоит в том, что унисталятором сначала удаляется флэш-плагин, а затем инсталятором из того же пакета соответствено устанавливается

Для оси Linux эта проблема решается путем ручной вставки плагина имея права уровня root

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

суббота, 2 февраля 2013 г.

Делим изображение на части.

Сегодня просматривая ленту мне попалась статья где астрономы НАСА сняли Солнце используя разные параметрические фильтры и в результаты сложили на одно большое изображение. Вот Ты его можешь здесь посмотреть
Фотографии в других размерностях
4096х4096
2048х2048

Красиво да!. Первое что мне пришло в мою шальную голову это сделать кисточки для GIMP из кусочков ну или на худой конец текстуры! Они такие фантастические. Вот тут вспомнился и наш GIMP и его инструмент - "гильотина", но размер исходного изображения не позволял реально разрезать эту картинку ибо время требовалось не мерено, а так же и ресурсов . И вот здесь как раз пришел на помощь ImageMagick и прямая команда из терминала с определенным ключом. Конечно чтобы получить наибольшее разрешение в кусочков была скачена на диск фотка размером 4096х4096 и ее мы записали на диск под именем sun.jpg, а дальше в терминале ввели такую команду
convert sun.jpg -crop 683x512  \
          +repage  +adjoin  sun_%02d.png
и получили 48 кусочков размером 683х512px всего за секунд 5 не более, а может и меньше .
Фактически мы выполнили типичное действие с фотографией которое зачастую занимает минуты долгих преобразований в визуальных редакторов типа фотошоп.

пятница, 1 февраля 2013 г.

gnome-screenshot

Эта команда из набора оболочки Gnome и входит в пакет GNOME Utilities. В ubuntu используется в оболочке и поставляется всегда из коробки.

В меню прописана в виде интерактивной формы Приложения / Стандартные / Снимок экрана, а так же в виде двух "горячих клавиш" - для создания скрина; - выполняющая скрин всего экрана и - делающая скрин активного окна. Во всех случаях результатом будет некоторое диалоговое окно предлагающее разместить полученый снимок на диске в виде файла имя.png или в буффере обмена или отказаться от снимка. В этом диалоговом окне так же вместе с полученой миниатюрой снимка есть два параметра, которые можно переназначить - это имя файла и дирректория где будет он расположен. По умолчанию дирекция имеет путь file:///home/Рабочий стол. Этот параметр можно изменить через системный редактор конфигурации gconf-editor (разговор об этой утилите пойдет отдельно), но только замечу, что все ваши последнии действия, включая настройки, сохраняются имено в базе конфигурации.

Чтобы получить полную информацию об утилите gnome-screenshot нужно в терминале выполнить команду с ключом

gnome-screenshot --help

и вам откроется тайны этой утилиты, частично о которых мы расскажем далее