среда, 23 декабря 2015 г.

Canon EOS 7D Mark II, Auto ISO, manual mode and exposure compensation.

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

Наконец-то попала мне в руки эта репортажная камера, заглядывался я на нее с момента её презентации на Photokina 2014 и последующих первых обзоров в интернете.
Еще до выхода на различных форумах обсуждалась такая замечательная функция в Canon 1D X как экспокоррекция в ручном режиме при включенном AUTO ISO.

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

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

Пример 1, больше затрагивает теорию контрастных сцен:
Снимаем летний закат внизу земля вверху небо на 24мм. Выставляем, например, значения 1/200, f/9, ISO auto. Что же мы получаем, повторюсь значения взяты из головы результат экспозамера так же взят с неба :) А получаем мы ISO 500.
Штатив, ISO 100 пока отбросим, снимаем с рук. Экспозамер в режиме замера по всему полю.
Берем в кадр больше неба, получаем ISO 100 и, как результат, провалы в черное на земле и правильно проэкспонированное небо.
Берем в кадр больше земли, получаем ISO 800 и, как результат, пересвет в небе и правильно проэкспонированную землю.

Выход в данном случае №1  - снимать со штатива и с брекетингом (или по тому же ISO или по выдержке) с фокусом в ручном режиме и одной и той же диафрагмой. Затем при постобработке совмещать изображения.
Выход №2 - снимать один кадр с последующим вытягиванием теней и приглушением светлых областей.
Есть еще варианты, в том числе совмещая оба выхода выше.


Пример 2:
Съемка птиц (это уже для меня актуально). Условия освещения при этом всегда разные, фон бывает светлым, темным, нормальным - предугадать невозможно, изменить точку съемки подчас сложно.
Снимаем птицу на ветке, имеем светлый фон (затянутое серыми облаками небо).
Птицы, как правило, очень подвижны, а особенно если заметят человека.
Снимать нужно быстро, тихо и желательно точно :)
Обычно я такие сцены снимал с приоритетом диафрагмы. Мне надо было получить правильно проэкспонированную птицу, Для этого в режиме Av я выставлял экспокоррекцию вверх на 1-1.3 и более стопа. В данном случае переэкспонированный фон значения уже не имел.
Проблема режима Av в том, что он может выставить слишком длинную выдержку, что может приводить к смазам на изображении.
Чтобы этого избежать я выставлял на Canon 6d в режиме Av  ISO 1000-1600 и снимал, то смещая экспокоррекцию вниз, то ставя ее на 0, то задирая до 2-3 в плюс. При этом выдержка гуляла как хотела. Конечно, можно выставить минимальную выдержку в настройках и поставить AUTO ISO, это вроде как должно помочь, но я так и не привык к этому режиму, получил в итоге два плавающих не понятно как параметра - ISO и выдержку.

Выход 1: снимать в Av при фиксированных ISO и при смене освещения в лучшую сторону получать излишне малую выдержку и избыточное ISO, в то время как можно было снять с большей выдержкой и меньшим ISO и получить менее шумный и всё еще резкий кадр.
Выход 2: выставить вручную и выдержку и диафрагму, а затем подстраивать ISO постоянно следя за его значением, а точнее за показаниями экспонометра и крутить ISO как нужно в конкретный момент.

Лирическое отступление :) Есть у меня знакомый зовут Сергей, день рождения у нас в один день :) Дак вот он не гнушается высокими ISO выставляя их значения 10-12 тысяч и снимая в режиме Av или автоисо + мануальный режим с очень короткими выдержками и зажатой до f/10 диафрагмой. Да, это выход, но я по натуре перфекционист и ISO выше 1600 для меня это слишком шумно. Возможно к этому приложили руку фотостоки, которые предъявляют высокие требования к шумам.

А теперь самое главное! В  7D Mark II можно очень быстро решить вопрос правильной/нужной экспозиции, а точнее освещенности итогового снимка (ведь экспозиция это сочетание двух параметров - диафрагма плюс время экспонирования, а ISO это уже восприятие матрицей выданного экспозицией света, по крайней мере такое я слышал/читал когда-то).
Выставляем режим M на камере, выставляем нужную для птиц выдержку, обычно это 1/500-1/2000, зажимаем диафрагму до f/5.6-11, ну в общем смотря как свет позволяет. Выставляем ISO AUTO, ограничиваем его, к примеру от 100 до 3200 в режиме авто в настройках камеры.
Идем снимать. Видим, птица на светлом фоне и будет явно недоэкспонирована, а нам нужны и глазки и клювик и подбородок чтоб был просматриваемым. Ничего не меняя тянем дополнительный рычажок что прямо в основании джойстика и крутим верхнее колесо вправо, корректируя экспозицию в плюс. Снимаем, смотрим результат (или не смотрим, зависит от опыта)  корректируем при необходимости и снова снимаем.

Или через меню или нажав кнопку Q под джойстиком у ЖКД, выбираем (кнопка set) "назначение  элементов управления". В нем в нижнем левом углу выбираем  (кнопка set) "рычажок выбора области AF"














Внутри назначаем ему ... эээ... не могу найти картинки, аппарат не с собой, 23 декабря часам к 22:00 допишу, главное не забыть )))

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

п.с. картинки экрана 7dm2 честно скопированы из этой статьи:
http://prophotos.ru/reviews/16254-canon-eos-7d-mark-ii-nedelya-s-ekspertom/2

вторник, 19 мая 2015 г.

Вконтакте ( vk.com ), как заблокировать рекламу с помощью Adblock plus.

Чтобы те, кто уже знаком с adblock plus, не тратить время на прочтение всей статьи, пишу кратко:
добавьте в adblock фильтр:
##div[data-ads]
////
Добавление записи от 25.05.2015:
vkontakte немного изменил название параметра, теперь нужно поменять фильтр на
##div[data-ad-view]
по той же схеме
////
С недавних пор, а именно с 18 мая 2015 года (хотя обещали с 15го :) ), Вконтакте добавили встраиваемую в ленту пользователей рекламу.
Эту рекламу нельзя закрыть, скрыть, пометить как спам и вообще как-то убрать из ленты новостей.
Недолго думая, я глянул на код этих элементов.
Обычно я пользуюсь chrome и в нем(как уже и во многих других браузерах), если щелкнуть правой кнопкой мыши на любом из сайтов, то в самом низу видно меню  "Просмотр кода элемента"













Щелкаем по нему и открывается код который и отображает нашу страницу или конкретный элемент.
Переходим к сайту Вконтакте, открываем ленту новостей и ищем наши новые незакрываемые рекламки. Щелкаем по любому месту в этом "посте", которое, по логике вещей, должно быть блоком, который нам нужно исследовать. Открываем "просмотр кода элемента" и изучаем этот рекламный блок и нормальные блоки, которые должны быть в новостях, ищем отличия.
Сразу скажу, что отличаются они наличием параметра data-ads, не сложно догадаться, что ads это сокращение английского слова advertising - реклама.































Далее, если еще у вас не установлен addblock, то срочно ставьте! Отсюда:
https://adblockplus.org/
Я дал ссылку на addblock plus, потому что в нем можно писать свои собственные фильтры.
И так, addblock установлен, что дальше?
Открываем сайт вконтакте, нажимаем в правом верхнем углу браузера красную иконку addblock plus и выбираем "Заблокировать элемент"

























Далее нужно щелкнуть абсолютно на любом месте сайта вконтакте и откроется окно программы, где уже будет что-то прописано. Это что-то мы удаляем и пишем свой текст фильтра, а именно:
##div[data-ads]
И жмем большую кнопку "Добавить."














Вот и все, теперь рекламные блоки не будут появляться. Я понимаю, что прибыль компании вконтакте, может сильно-сильно упасть, из-за этого))))))))) Шутка :) Им ничего не будет, деньги взяли, рекламу разместили и адиос амиго :)

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

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

Спокойного сёрфинга всем, без рекламы! ;)

вторник, 28 апреля 2015 г.

Java, Swing. How to change title text style of InternalFrame and width of minimized InternalFrame?

По воле случая пришлось вернуться к старому доброму SWING :)
Ну и тут началооось )))

Как поменять стиль текста у InternalFrame?
Очень просто. Если используем Look and Feel "Nimbus", то есть такая штука как переменные по-умолчанию. Весь их список можно найти здесь:
https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/_nimbusDefaults.html

И так, нужно добавить в конструктор главного окна следующее:

Font f = new Font("SansSerif", Font.BOLD, 14); // создаем нужный нам текст, мне нужно было его увеличить до 14
 UIManager.put("InternalFrame.titleFont", f); // вставляем в переменные наш текст.

Вот и все.


Так же можно поменять цвет текста, используя переменную "InternalFrame:InternalFrameTitlePane[Enabled].textForeground"

Вот так:

UIManager.put("InternalFrame:InternalFrameTitlePane[Enabled].textForeground", Color.RED);

------

По-умолчанию, ширина свернутого окна, нашего InternalFrame, такова, что заголовок при сворачивании становится не виден. Решить проблему можно так же через переменные по-умолчанию. В данном случае это "InternalFrameTitlePane.contentMargins".
Нужно добавить:

java.awt.Insets insets = new Insets(5, 5, 0, 120);
UIManager.put("InternalFrameTitlePane.contentMargins", insets);

5 и 5 в Insets это отступ снизу и сверху, а 120 - получается здесь, что ширина.