Программа vkSM.jar, Слайд Мейкер

   

Мотивация

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

Функцию копии фрагмента экрана в файл-картинку называют функцией скриншота (screen shot). По английски это так и звучит как снимок экрана, то есть мы смотрим на экран и фотографируем то, что на нем есть. Существует очень много программ, которые это делают в комплексе с другими функциями. Я тоже решил сделать свою, очень простую программу, которая это делает несколько иначе, чем другие, но достаточно удобно, особенно если надо много раз вырезать одну и ту же область. Эта операция является первой функцией программы vkSM.jar. Вторая функция не так известна, хотя сделать ее тоже не сложно. Она накладывает в заданную область картинки из файлов по принципу, что последующие ложатся сверху и закрывают предыдущие полностью или частично. Для этой функции я не знаю общепринятого названия, вот она по сути и является слайд мейкером, то есть генератором слайда. Это вторая функция.

В программу я также добавил еще две функции. Первая из них (то есть 3-я) имеет специфическую область применения, но может пригодиться. Эта функция позволяет скачивать из интернета картинки по списку и спасать их в пронумерованные файлы. Она нужна для того, чтобы быстро превратить интернет версию программы слайд-шоу в локальную версию. Мои программы слайд-шоу показывают фотографии в определенной последовательности и под музыку, просто указывая их адреса в интернете. К сожалению в погоне за безопасностью, а также совсем по другим мотивам в интернете постоянно что-то запрещают. Такие запреты коснулись и java программ. По этой причине эта функция уже не работает. Ее работу браузеры просто блокируют.

Вторую (то есть 4-ю) функцию я сделал совсем недавно. Она фактически копирует функцию, которую операционная система делает по клавише [PrtSc]. Такая клавиша и такая функция была с самого начала. Она как раз копировала экран как картинку в буфер. Чтобы картинку из буфера спасти в файл надо было иметь какую-либо графическую программу. Потихоньку разные программы облачных дисков стали ее перехватывать, чтобы записывать снимок экрана в файл сразу. И казалось бы удобно. Но есть два минуса и в такой работе. Первый -- это то, что программы запрашивают разрешения у пользователя и тормозят. Второй -- это то, что программы не всегда способны делать снимок когда идет видео.

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

Как получить программу

Мои программы бесплатные и получить их очень просто, а именно скачиваем из интернета файл и запускаем его. Программа сделана одним файлом, но я даю скачивать zip-архив вместе с описанием. Итак, кликаем на этой ссылке и скачиваем файл таких маленьких размеров, что и говорить не о чем. Но не все так просто. Программа написана на языке программирования Java, и для ее работы необходимо установить на компьютер JRE (java runtime environment). Это уже относительно большая программа, которая выполняет все java программы, записанные на компьютер. Реально эта программа должна была бы быть включена в операционную систему, но с операционной системой Windows этого не произошло, она написана другой фирмой. Сначала ее разрабатывала фирма Sun Microsystems, теперь Oracle. Но ее с полным правом можно считать бесплатным дополнением к операционной системе.

Скачать дистрибутив самой последней версии программы можно здесь, но как вариант можно скачать версию 6u16 из моего файло-обменника здесь, она тоже будет работать. Однако установить последнюю версию лучше, иначе вас замучают предложениями обновить версию. Эта программа устанавливается, но достаточно просто, если со всем соглашаться, то она быстро установится и будет невидимой. После ее загрузки любые файлы с расширением jar будут запускаться как обычные программы. Но можно запускать программу и по команде: java -jar vkSM.jar, если активна папка, в которой находится программа. В этом случае будет присутствовать окно терминала программы java -- интерпретатора java кода.

В последнее время браузеры и ОС следят за тем, чтобы была установлена именно последняя версия JRE. И часто очень настойчиво это предлагают, хотя тенденция такова, что каждая новая версия хуже предыдущей, так как она содержит много лишнего, плюс все время увеличиваются запреты на какие-то действия. Лично я сам пользуюсь последней версией JRE. А если у вас уже стоит какая-то JRE, то все ОК и больше ничего не надо.

Как работать с программой

Вот этот вопрос надо изучить заранее, так как программа подсказки дает, но очень скупо. При запуске программы она выводит иконку в статусную строку в нижней части экрана, но больше никак себя не показывает. То есть она выглядит как резидентная, но не совсем. Резидентная программа постоянно работает и постоянно отслеживает нажатые клавиши клавиатуры. Данная программа тоже реагирует на нажатые клавиши клавиатуры, но только в том случае если она активна. Для ее активации достаточно кликнуть на ее иконке в статусной строке. После этого можно нажимать 5 клавиш: [F1] для вызова функции скриншот части экрана с диалогом, [F2] для вызова функции слайд мейкера, [F3] для скачивания картинок по списку и [F12] для быстрого копирования экрана компьютера в файл.

В этом случае файл записывается в папку программы и имеет имя (sm01.png) если нажали первый раз. При каждом последующем нажатии номер увеличивается на 1 и так можно набрать сколько угодно файлов. Но после выхода из программы все эти файлы надо перенести в другую папку, иначе при новом включении программы все файлы будут заново переписываться с этими же номерами. Для выхода из программы надо нажать клавишу [Esc]. Но если вам надо делать много операций, то ее можно не выключать и просто запускать другие программы. Просто не забывайте активировать программу кликом на ее иконке перед тем, как ее использовать. Иконка называется Slide Maker. Все 5 функций программы работают совершенно независимо. Поэтому надо их описывать последовательно.

Первая функция скриншота работает так. После нажатия клавиши [F1] программа захватывает весь экран в свое окно и показывает экран в линейках прокрутки. В нижней части экрана строка показывает размер картинки и текущие координаты курсора. Вырезать фрагмент можно двумя способами. В первом способе ставим курсор в левый нижний угол фрагмента, нажимаем левую клавишу и тянем в правый верхний угол. При этом программа выделяет область в черную рамочку. После того, как все выделено, отпускаем клавишу. Выделенный фрагмент моментально показывается в новом окне. Старое окно исчезает. Кликнув на картинке получаем менеджер файлов для выбора папки и названия куда записать картинку. Можно переписать уже существующий файл, а можно набрать имя нового файла в адресной строке. Допустимые расширения jpg и png. Другие форматы не поддерживаются. Но это как раз базовые форматы сжатия картинок с искажением и без искажения. Пейзажи лучше спасать в формате jpg, а чертежи и тексты в формате png. Но если вам фрагмент не понравился, то можете выбрать кнопку [Cancel], и файл записан не будет. После этого надо повторить попытку.

Указанный способ наглядный и быстрый, но если нужно получить фрагмент заранее заданных размеров, то вырезать его мышкой очень сложно. Для этого есть второй способ. Вместо того, чтобы мучиться с мышкой, можно нажать клавишу [C]. При этом откроется окно ввода, куда надо ввести 4 числа: координаты левого нижнего угла, ширину и высоту фрагмента, все в пикселах. И кликнуть [OK] либо нажать клавишу пробела. Остальное точно так же как и в первом способе. Набранные координаты и размеры запоминаются. Поэтому если надо много раз выбирать один и тот же фрагмент, то второй раз набирать уже ничего не придется.

Перейдем ко 2-й функции. Здесь по вызову клавишей [F2] открывается окно текстового редактора с подсказкой формата протокола. Формат такой: в первой строке надо набрать полный путь к рабочей папке компьютера, где находятся файлы всех фрагментов. Во второй строке надо набрать три числа: ширину и высоту рабочей области слайда, а также число фрагментов, затем после знака вертикальной черты набрать имя файла слайда без расширения. В остальных строках надо задать способ использования фрагментов, каждый фрагмент на отдельной строке. Способ задается 7-ю числами. 3-е число -- это угол вращения фрагмента в градусах. Если он равен нулю, то первые два числа задают смещение левого нижнего угла фрагмента из левого нижнего угла слайда. А если не равен нулю, то смещение центра фрагмента, потому что вращение происходит вокруг центра.

4-е и 5-е числа задают параметры shear преобразования, что это такое можно узнать эмпирическим путем, но стандартно они равны 0. Наконец 6-е и 7-е числа задают коэффициенты масштабирования картинки по горизонтальной и вертикальной осям соответственно. После 7 чисел надо поставить символ вертикальной черты и записать имя файла фрагмента, включая расширение. Как только протокол задан нажимается клавиша [Esc] и моментально показывается слайд. Он может понравится или не понравится. После клика на картинке нужно ответить на этот вопрос. Если ответ [Yes] слайд записывается сразу в два файла с расширениями jpg и png. Если ответ [No], то возвращаемся в редактор и изменяем параметры. Хотя здесь нет возможности визуально двигать фрагменты, зато задание координат и коэффициентов преобразования дает широкие возможности очень точно выставить именно то, что требуется.

3-я функция работает аналогично. По вызову клавишей [F3] сначала открывается менеджер файлов, в котором надо выбрать папку для записи файлов картинок на компьютер. Программа запоминает последнюю выбранную папку и сразу ее показывает. Если ничего менять не надо, то нажимаем кнопку [Cancel]. Если нужно поменять папку, то после выбора нужной папки надо отметить в ней любой файл, чтобы заполнить адресную строку ввода. Если в папке файлов нет, то достаточно ввести в адресную строку любой символ, например, 0 и кликнуть клавишу [Select]. После этого открывается окно текстового редактора, в первой строке которого показан путь к выбранной папке и текст подсказки что надо делать. Надо полностью очистить окно редактора и просто скопировать в редактор список адресов картинок в интернете в кавычках, именно так они записываются в фото-шоу. Затем нажимаем [OK], и ... я уже писал выше, что программа работать не сможет, так как ее действия будут блокироваться интернетом.

4-я и 5-я функции в специальном описании не нуждаются. Они уже описаны выше и работают очень просто и молча. Есть другая статья о программе, ее можно посмотреть  вот тут. Но она еще не переписана и устарела.

Виктор Кон, (10.03.2012) 17-11-2023