Магія технологій. Для чого потрібний S Pen у смартфоні або планшеті Samsung
Мені постійно ставлять питання з прихованим підтекстом: невже ти дійсно користуєшся S Pen, навіщо він потрібен у планшеті чи тим більше в смартфоні? можна тикати в екран замість пальця. Максимум малювати щось на екрані, і то незрозуміло, навіщо. надумана корисність, від якої можна легко відмовитися.
Інше перевірочне питання, яке має щось показувати: як часто я дістаю S Pen і використовую його. Відповідаю, що це трапляється раз на кілька днів, іноді частіше, часом рідше. , навіть ти забуваєш їй користуватися. Доводиться пояснювати, що не страждаю на забудькуватість, просто S Pen мені потрібен не так часто! Як можна вимірювати корисність того чи іншого предмета за частотою його використання? Для кожної задачі є свій інструмент, і S Pen не має аналогів для ряду сценаріїв використання. чого використовую S Pen у повсякденному житті і чим він може бути корисним.
Почну з того, що у мене кілька пристроїв лінійки Galaxy, де є підтримка S Pen. тому доводиться носити його окремо або використовувати чохол, який заповнює апарат. S22 Ultra Нарешті, я маю планшет Galaxy Tab S8 Ultra, де також в комплект входить S Pen.Різниця між цими S Pen у розмірах, у Ultra він невеликий, так як ховається в корпусі, у Tab S8 Ultra повноцінна ручка, дуже комфортна за розмірами.
Принцип роботи S Pen не відрізняється, він завжди однаковий - в екрані пристрою є додатковий сенсорний шар, побудований на технології Wacom, лідера серед виробників графічних планшетів. Підтримується розпізнавання 4096 ступенів натискання, тобто, коли ви пишете або малюєте, екран оцінює зусилля, з яким ви це робите. Повний збіг з тим, що відбувається в реальному світі, коли ви використовуєте олівець або ручку, а можливо, і кисть з акварельними фарбами. І це головна відмінність від будь-якої палички, якої можна малювати на екранах сучасних пристроїв. У таких пристроях немає розпізнавання ступеня натискання, лінія завжди виходить однією і тією ж, що робить її дуже цифровою і закриває безліч сценаріїв, які стають вам просто недоступними. Подивіться, як виглядає мій почерк, коли я пишу за допомогою S Pen (вибачте, я не лікар, але можу змагатися з ними з нерозбірливості почерку).
Ідеальна товщина ліній в одному випадку і нормальний, реалістичний почерк у другому різниця очевидна. Мені подобається саме другий варіант, у нього немає такого цифрового відтінку, але, звичайно, це справа смаку.
У S Pen на Ultra вбудований Bluetooth, який дозволяє використовувати "ручку" як пульт дистанційного керування. Найочевидніше застосування - це управління зйомкою відео або фото, немов у вас такий пультик, куплений окремо, благо їх мільйон на ринку. Плюс S Pen у тому, що він завжди з вами, у корпусі телефону, завжди заряджений, і не потрібно тягати із собою окремий пристрій.
Численна кількість разів S Pen рятував мене, коли потрібно було зробити знімок з боку, а навколо не було людей, яких можна було про це попросити. Парні знімки з кимось на повне зростання, можливість знайти цікавий ракурс і натиснути на S Pen, щоб зробити фотографію або почати запис відео. Одним словом, це дійсно зручно, але не та річ, якою ви користуватиметеся щодня.
Інший приклад корисності S Pen. Мама надсилає список ліків, які їй потрібні. Але як людина старого гарту вона виписує їх на аркуші паперу, потім фотографує і відправляє мені в месенджері. Мамі незручно набирати щось на клавіатурі смартфона, вона намагається уникати цього.
Відкриваю список ліків і в міру покупки викреслюю те, що придбав, або наголошую, скільки упаковок ще потрібно купити. За лічені секунди дістаю S Pen і просто обводжу потрібні пункти у надісланому зображенні. Зручно? Не те слово.
Інший приклад. Люблю ходити музеями, на деяких виставках суворі правила, фотографувати картини чи інші предмети мистецтва не дозволяють, а хочеться запам'ятати ім'я автора чи роботи. Не розблокую телефон, дістаю S Pen і пишу на екрані те, що необхідно запам'ятати. Надалі за бажання можна рукописний текст розпізнати і перетворити з нотатки, написаної від руки, на звичайний текст електронного формату.
Ще один приклад незамінності S Pen – наради з чиновниками, останні не люблять, коли хтось сидить у телефоні, хай навіть ви робите у ньому позначки про зустріч. Обов'язково потрібно заносити щось у блокнот ручкою, але не друкувати на екрані смартфона – їм здається, що ви займаєтеся своїми справами, на вас косять.
Коли ви робите нотатки S Pen, створюється відчуття, що ваш блокнот просто цифровий, і це не викликає негативних емоцій.Ви працюєте! Для тих, хто страждає від непорозуміння під час використання смартфона, це ідеальний вихід. Плюс додаток Notes від Samsung настільки шикарний, що не можна його не похвалити. Це каталог всіх ваших нотаток, ви можете в ньому шукати інформацію та швидко знаходити, сортувати нотатки за папками та категоріями. А самі нотатки дуже просунуті на можливості використання всередині різного контенту.
Однією з класних фішок Notes є те, що ви можете включити запис на диктофон, наприклад, берете інтерв'ю або слухаєте лекцію. Одночасно можна робити позначки S Pen, коли щось видалося вам цікавим. Потім при прослуховуванні одразу можна перейти до зроблених позначок, запис перескочить на них. Зручно? Не те слово. Теж штука, якою не користуюся щодня, за рік у мене зроблено записів п'ять-шість у такому форматі. Але без S Pen виявився б віч-на-віч з диктофонним записом, працював би по-старому.
Створення скріншотів, вирізування шматочків картинки, коли вам потрібен не прямокутник, а довільна форма, - це зручніше разом з S Pen. Але ще одна фішка електронного пера від Samsung, яка підкуповує мене і залишає в повному захваті - це розпізнавання тексту на фотографіях або скріншотах. Виділяєте потрібну область, де розташований текст, і він розпізнаний ви можете зберегти його в електронному вигляді. Наприклад, мені часто доводиться фотографувати документи, потім просто розпізнаю їх і електронна копія готова. Зручно? Не уявляю, як можна жити без такої нагоди, хоча, звичайно, і вона мені потрібна зовсім не кожну вільну хвилину.
Дуже сильно сприйняття S Pen відрізняється залежно від діагоналі екрану. На жаль, я не вмію малювати, а ось моя дочка, навпаки, художник. Вона вперше спробувала S Pen на смартфоні, їй сподобалося малювати на екрані, але не вистачало діагоналі.На Galaxy S8 Tab Ultra такої проблеми немає, можна сказати, що це цифровий мольберт, на якому можна творити. Величезний 14.6-дюймовий екран дозволяє комфортно малювати будь-що.
Для тих, хто обділений можливістю малювати, є найпростіші забарвлення, ви заповнюєте шаблони різними кольорами або малюєте. Головне, що можна подивитися чужі роботи, і вони, звичайно, справляють враження. Зрідка дістаю S Pen і, думаючи про щось, займаюся розфарбовуванням малюнків.
Крім цього додаток PenUp дозволяє переглянути роботи інших людей, побачити, як вони малювали ті чи інші малюнки, спробувати повторити їх роботи. Для тих, хто тільки вчиться малювати це просто неоціненний подарунок, ви бачите кожен штрих, зроблений іншою людиною. Просто спробуйте, що це таке, моя дитина обожнює цей розділ. А ще в ньому є конкурси, коли можна позмагатись у мистецтві малюнка з людьми з усього світу.
Для тих, хто звик і все ще любить писати від руки, альтернативи S Pen просто не існує, ваш смартфон або планшет дозволяють заносити свої нотатки, а потім навіть розпізнавати їх. Причому неважливо, якою мовою ви пишете, пристрій розпізнає текст правильно і майже ніколи не помиляється, перевірено на моєму почерку, а як ви пам'ятаєте, пишу я як курка лапою.
Описувати S Pen можна до нескінченності, десятки різних функцій та можливостей застосування, кожен знайде щось корисне для себе. Дистанційне керування не лише камерою, а й іншими програмами — чому ні? Ви можете малювати графіки чи коментувати малюнки. Підпис документів, які потрібно кудись надіслати, наприклад, до банку. Поле застосування S Pen безмежно, і це додатковий інструмент, який робить життя простішим. Здається, що у повсякденному житті S Pen не особливо потрібен, ви не пам'ятаєте те, як його використовуєте.Але знадобилося щось із перерахованого та освоєного вами раніше, і тут без S Pen як без рук. Корисний аксесуар, а ось ступінь корисності залежить від того, що в ньому вивчите ви, які можливості знайдете. Головне — спробувати і не боятися випробовувати нове, знаходити інші способи застосування, а не описані вище.
Взаємодія з пером та Windows Ink у програмах для Windows
Ручка Surface (доступна для покупки у Microsoft Store).
Огляд
Оптимізуйте Windows для введення пера, щоб забезпечити як стандартні функціональні можливості пристроїв покажчика, так та найкращі можливості Windows Ink для користувачів.
У цьому розділі розглядається платформа Windows Ink. Загальні відомості щодо обробки вхідних даних покажчика (аналогічно миші, торкання та сенсорної панелі) див. у розділі "Обробка введення покажчика".
Використання рукописного введення у програмі Windows
Використання Пера Windows та Рукописного вводу для створення більш привабливих корпоративних програм
Платформа Windows Ink разом із пристроєм пера надає природний спосіб створення цифрових рукописних нотаток, малюнків та нотаток. Платформа підтримує запис вхідних даних дигітайзера у вигляді рукописних даних, створення рукописних даних, управління даними рукописного введення, відтворення рукописних даних у вигляді розчерків рукописного введення на вихідному пристрої та перетворення рукописного введення в текст за допомогою розпізнавання рукописного введення.
Крім запису основної позиції та переміщення пера в міру запису або малювання, додаток також може відстежувати та збирати різні обсяги тиску, що використовується протягом штриха.Ці відомості, а також параметри для фігури пера, розміру та повороту, кольору рукописного введення та призначення (звичайне рукописне введення, стирання, виділення та вибору), дозволяють надавати користувачам можливості, які дуже схожі на написання або малювання на папері з пером, олівцем або пензлем.
Ваша програма також може підтримувати введення рукописного введення з інших пристроїв на основі покажчика, включаючи сенсорні дигітайзери та пристрої миші.
Платформа рукописного введення дуже гнучка. Він призначений для підтримки різних рівнів функціональності, залежно від ваших вимог.
Для отримання додаткових відомостей щодо інтерфейсу Windows Ink див. розділ "Елементи керування рукописним введенням".
Компоненти платформи Windows Ink
| Компонент |
Description |
| InkCanvas |
Елемент управління платформою інтерфейсу користувача XAML, який за замовчуванням отримує і відображає всі вхідні дані з пера у вигляді розчерку рукописного вводу або штриха видалення. Щоб отримати додаткові відомості про використання InkCanvas, див. Розпізнавання розчерків Windows Ink у вигляді тексту та сховища та отримання даних розчерку Windows Ink. |
| InkPresenter. |
Об'єкт code-behind, створений разом із елементом управління InkCanvas (Надається через властивість InkCanvas.InkPresenter). Цей об'єкт надає всі функції рукописного вводу за промовчанням InkCanvas, а також комплексний набір API для додаткового налаштування та персоналізації. Щоб отримати додаткові відомості про використання InkPresenter, див. розділ Розпізнавання розчерків Windows Ink у вигляді тексту та магазину та отримання даних про розчерк Windows Ink. |
| InkToolbar |
Елемент управління платформи інтерфейсу користувача XAML, що містить настроювану і розширювану колекцію кнопок, які активують функції, пов'язані з рукописним введенням, у зв'язаному InkCanvas. Для отримання додаткових відомостей про використання inkToolbar див.у розділі "Додавання панелі inkToolbar" до програми рукописного введення windows. |
| IInkD2DRenderer |
Включає розмальовку розчерків рукописного введення у призначений контекст пристрою Direct2D універсальної програми Для Windows замість елемента керування InkCanvas за замовчуванням. Це забезпечує повне налаштування інтерфейсу рукописного введення. Для отримання додаткових відомостей див. приклад складного рукописного вводу. |
Базове рукописне введення за допомогою InkCanvas
Щоб додати основні функції рукописного введення, просто помістіть елемент керування платформи UWP InkCanvas на відповідну сторінку у додатку.
За замовчуванням InkCanvas підтримує вхідні дані рукописного вводу лише з пера. Вхідні дані відображаються у вигляді розчерку рукописного введення з використанням параметрів за замовчуванням для кольору та товщини (чорно-кульового пера з товщиною 2 пікселя), або обробляються як гумка (якщо вхідні дані з підказки гумка або кінчик пера змінені кнопкою видалення).
Якщо підказка або кнопка гумки відсутня, можна налаштувати InkCanvas для обробки вхідних даних із кінчика пера у вигляді штриха видалення.
У цьому прикладі inkCanvas накладає зображення фону.
InkCanvas має властивості Height і
Width за замовчуванням нулю, якщо він не є дочірнім елементом елемента, що автоматично розмірює дочірні елементи, такі як елементи керування StackPanel або Grid.
У цій серії зображень показано, як малюється введення пера цим елементом керування InkCanvas .
| Порожній inkCanvas з фоновим зображенням. |
InkCanvas з рукописних розчерків. |
InkCanvas з одним штрихом стирається (зверніть увагу, як стерти працює на весь штрих, а не на частину). |
Для простого рукописного введення вам не потрібно турбуватися про себе з InkPresenter . Однак для налаштування та налагодження поведінки рукописного введення в InkCanvas необхідно отримати доступ до відповідного об'єкту InkPresenter.
Базове налаштування за допомогою InkPresenter
Об'єкт InkPresenter створюється з кожним елементом керування InkCanvas.
Не вдається створити екземпляр inkPresenter безпосередньо. Натомість він здійснюється через властивість
InkPresenter inkCanvas.
Крім надання всіх дій рукописного введення за замовчуванням відповідного елемента керування InkCanvas, InkPresenter надає повний набір API для додаткового налаштування штриха та більш точного керування вхідними даними пера (стандартним та зміненим). Сюди входять властивості штриха, типи пристроїв введення та обробка вхідних даних об'єктом або передачі в додаток для обробки.
Стандартні вхідні дані рукописного вводу (з кінчика пера або кнопки гумки) не змінюються з додатковим апаратним забезпеченням, наприклад кнопкою пера, правою кнопкою миші або аналогічним механізмом.
За промовчанням рукописне введення підтримується лише для введення пера. Тут ми налаштовуємо InkPresenter для інтерпретації вхідних даних із пера та миші у вигляді розчерків рукописного введення. Ми також встановлюємо деякі початкові атрибути розчерку рукописного вводу, які використовуються для відображення штрихів InkCanvas .
Щоб увімкнути введення миші та сенсорного введення, задайте для властивості InputDeviceTypes inkPresenter поєднання значень CoreInputDeviceTypes, які потрібні.
Атрибути розчерку рукописного введення можна встановити динамічно для задоволення вимог користувачів або додатків.
Тут ми дозволимо користувачеві вибрати зі списку кольорів рукописного тексту.
" Margin="10,0,0,0" /> " VerticalAlignment="Center" Margin="50,0,10,0"/>
Потім ми обробляємо зміни вибраного кольору та оновлюємо атрибути розчерку рукописного введення відповідним чином.
// Update ink stroke color for new strokes.private void OnPenColorChanged(object sender, SelectionChangedEventArgs e) < if (inkCanvas != null) < InkDrawingAttributes drawingAttributes = inkCanvas.InkPresenter.CopyDefaultDrawingAttributes(); string value = ((ComboBoxItem)PenColor.SelectedItem).Content.ToString(); switch (value) < case "Black": drawingAttributes.Color = Windows.UI.Colors.Black; break; case "Red": drawingAttributes.Color = Windows.UI.Colors.Red; break; default: drawingAttributes.Color = Windows.UI.Colors.Black; break; >; inkCanvas.InkPresenter.UpdateDefaultDrawingAttributes(drawingAttributes); > >
На цих зображеннях показано, як обробляється та налаштовується введення пера inkPresenter.
InkCanvas із чорними рукописними розчерками за замовчуванням.
InkCanvas із вибраними користувачем червоними розчерками рукописного введення.
Щоб забезпечити функціональні можливості за межами рукописного введення та стирання, таких як вибір штриха, програма повинна визначити певні вхідні дані для InkPresenter передачі необроблених даних для обробки програми.
Наскрізні вхідні дані для розширеної обробки
За замовчуванням InkPresenter обробляє всі вхідні дані як розчерк рукописного вводу або штрих видалення, включаючи вхідні дані, змінені додатковим апаратним забезпеченням, наприклад, кнопку пера, праву кнопку миші або аналогічну. Однак зазвичай користувачі очікують на деякі додаткові функціональні можливості або змінену поведінку з цими додатковими дозволами.
У деяких випадках також може знадобитися надати додаткові функції для пір'я без додаткових дозволів (функціональні можливості, які зазвичай не пов'язані з підказкою пера), інші типи вхідних пристроїв або певний тип зміненої поведінки на основі вибору користувача в інтерфейсі користувача.
Для підтримки цього можна настроїти InkPresenter , щоб залишити певні вхідні дані без обробки.Потім ці необроблені вхідні дані передаються додаток для обробки.
приклад. Використання необроблених вхідних даних для реалізації виділення штрихів
Платформа Windows Ink не надає вбудовану підтримку дій, які потребують змінених вхідних даних, таких як вибір штриха. Для підтримки таких функцій необхідно надати рішення користувача в додатках.
У наступному прикладі коду (увесь код знаходиться у файлі MainPage.xaml та MainPage.xaml.cs файлах), як увімкнути виділення штрихів при зміні вхідних даних за допомогою кнопки "Баррель пера" (або правої кнопки миші).
Спочатку ми налаштовуємо інтерфейс користувача в MainPage.xaml. Тут ми додамо полотно (під InkCanvas), щоб намалювати штрих виділення. Використання окремого шару для малювання штриха виділення залишає InkCanvas та його вміст недоторканий.
// Stroke selection tool. private Polyline lasso; // Stroke selection area. private Rect boundingRect;
// Handle unprocessed pointer events з modified input. // The input is used to provide selection functionality. // Selection UI is drawn on canvas under the InkCanvas. private void UnprocessedInput_PointerPressed( InkUnprocessedInput sender, PointerEventArgs args) < // Initialize a selection lasso. lasso = новий Polyline() < Stroke = новий SolidColorBrush(Windows.UI.Colors.Blue), StrokeThickness = 1, StrokeDashArray = новий DoubleCollection() < 5, 2 >, >; lasso.Points.Add(args.CurrentPoint.RawPosition); selectionCanvas.Children.Add(lasso); > private void UnprocessedInput_PointerMoved( InkUnprocessedInput sender, PointerEventArgs args) < // Add a point to the lasso Polyline object. lasso.Points.Add(args.CurrentPoint.RawPosition); >private void UnprocessedInput_PointerReleased( InkUnprocessedInput sender, PointerEventArgs args) < // Add the final point на Polyline object and // Select strokes within lasso area. // Натисніть колоду коробки на знімок каванза // Назад вибрані ink strokes.lasso.Points.Add(args.CurrentPoint.RawPosition); boundingRect = inkCanvas.InkPresenter.StrokeContainer.SelectWithPolyLine(lasso.Points); DrawBoundingRect(); >
// Draw a bounding rectangle, on selection canvas, encompassing // all ink strokes within lasso area. private void DrawBoundingRect() < // Clear all existing content from the selection canvas. selectionCanvas.Children.Clear(); // Draw a bounding rectangle тільки якщо вони ink strokes // within lasso area. if (!((boundingRect.Width == 0) || (boundingRect.Height == 0) || boundingRect.IsEmpty)) < var rectangle = new Rectangle() < Stroke = new SolidColorBrush(Windows.UI. ), StrokeThickness = 1, StrokeDashArray = new DoubleCollection() < 5, 2 >, Width = boundingRect.Width, Height = boundingRect.Height >; Canvas.SetLeft(rectangle, boundingRect.X); Canvas.SetTop(rectangle, boundingRect.Y); selectionCanvas.Children.Add(rectangle); > >
// Handle новий ink або erase strokes до clean up selection UI. private void StrokeInput_StrokeStarted( InkStrokeInput sender, Windows.UI.Core.PointerEventArgs args) < ClearSelection(); >private void InkPresenter_StrokesErased( InkPresenter sender, InkStrokesErasedEventArgs args)
// Clean up selection UI. private void ClearSelection() < var strokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes(); foreach (var stroke in strokes) < stroke.Selected = false; >ClearDrawnBoundingRect(); > private void ClearDrawnBoundingRect() < if (selectionCanvas.Children.Any()) < selectionCanvas.Children.Clear(); boundingRect = Rect.Empty; >>
Відображення рукописного введення, що настроюється.
За замовчуванням вхідні дані рукописного вводу обробляються у фоновому потоці з низькою затримкою та відображаються під час виконання або "мокрі", як воно намальовано. Після завершення розчерку (перо або палець знятий, або кнопка миші випущена), штрих обробляється в потоці інтерфейсу користувача і відображається "сухий" на шарі InkCanvas (Над вмістом програми та заміною мокрого рукописного введення).
Цю поведінку за умовчанням можна перевизначити і повністю контролювати процес рукописного введення шляхом "сушіння, що налаштовується" мокрих розчерків рукописного введення. Хоча поведінка за умовчанням зазвичай достатньо більшості додатків, існує кілька випадків, коли може знадобитися сушка, що налаштовується, до них відносяться:
- Більш ефективне керування великими або складними колекціями рукописних розчерків
- Більш ефективна підтримка зсуву та масштабування на великих полотнах рукописного введення
- Перемикання рукописного введення та інших об'єктів, таких як фігури або текст, за умови збереження порядку z
- Висушування та перетворення рукописного введення у фігуру DirectX (наприклад, пряма лінія або фігура розтеризовані та інтегровані у вміст програми замість окремого шару InkCanvas ).
SurfaceImageSource та VirtualSurfaceImageSource надають загальну поверхню DirectX для програми для малювання та створення у вміст програми, хоча VSIS надає віртуальну поверхню, яка більша за екран для виконання зсуву та масштабування. Так як візуальні оновлення цих поверхонь синхронізовані з потоком інтерфейсу користувача XAML, при малюванні рукописного введення в будь-якій з них можна видалити з InkCanvas одночасно.
Ви також можете використовувати власний сухий рукописний введення в swapChainPanel, але синхронізація з потоком інтерфейсу користувача не гарантується, і може виникнути затримка між відображенням рукописного введення в БуферChainPanel і видалення рукописного введення з InkCanvas.
Повний приклад цієї функції див. у прикладі складного рукописного введення.
Настроювана сушка та панель InkToolbar
Якщо програма перевизначає поведінку відтворення рукописного вводу за замовчуванням для InkPresenter за допомогою власної реалізації сушіння, відмальовані розчерки рукописного введення більше не доступні для панелі InkToolbar, а вбудовані команди видалення inkToolbar не працюють належним чином. Щоб забезпечити функціональність видалення, необхідно обробляти всі події покажчика, виконувати тестування влучень на кожному штриху та перевизначати вбудовану команду "Видалити всі рукописні вводи".
Інші статті у цьому розділі
| Розділ |
Опис |
| Розпізнавання розчерків рукописного введення |
Перетворення рукописних розчерків на текст за допомогою розпізнавання рукописного введення або фігур за допомогою розпізнавання користувача. |
| Зберігання та отримання розчерків рукописного введення |
Зберігайте дані розчерку рукописного введення у gif-файлі за допомогою впроваджених метаданих серіалізованого формату рукописного вводу (ISF). |
| Додавання inkToolbar до програми рукописного введення Windows |
Додайте в програму рукописного вводу за замовчуванням inkToolbar за замовчуванням, додайте кнопку пера в панель InkToolbar, що настроюється, і прив'язіть кнопку пера, що настроюється, до користувача визначення пера. |
Пов'язані статті
- Початок роботи: підтримка рукописного введення у програмі Windows
- Обробка вхідних даних покажчика
- Визначення пристроїв уведення
- Специфікація серіалізованого формату рукописного введення (ISF).
Програмні інтерфейси
Приклади
- Посібник з початку роботи: підтримка рукописного введення у програмі Windows
- Простий приклад рукописного введення (C#/C++)
- Складний приклад рукописного введення (C++)
- Приклад рукописного введення (JavaScript)
- Приклад кольорової книги
- Приклад сімейних нотаток
- Базовий приклад вхідних даних
- Приклад введення з низькою затримкою
- Приклад режиму взаємодії користувача
- Приклад візуальних елементів фокусування
Архівні приклади