Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När pennanteckningen har samlats in kan program hantera, manipulera och/eller överföra dessa data till andra medier. Åtgärderna för att markera, kopiera, flytta, spara, visa och ändra pennanteckningen sker på objektet Ink och dess inneslutna medlemmar, till exempel Strokes-samlingen och Stroke objekt.
Not
Med hjälp av Real-Time pennan kan program välja att underhålla data i sitt eget format (till exempel att spara linjer).
Pennanteckning, linjer och paket
Ett ink- objekt är den grundläggande datatypen som hanterar, manipulerar och lagrar indata som samlas in från objektet InkCollector. Ett ink--objekt innehåller en eller flera stroke- objekt och vanliga metoder och egenskaper för att hantera och ändra dessa slag. En linje definieras som den uppsättning data som samlas in i en enda penn-down, pen-move och pen-up sekvens. Linjedata innehåller en samling paket. Ett paket är den uppsättning data som surfplattan skickar vid varje exempelpunkt. Dessa data innehåller information som koordinater, penntryck, pennvinkel och allt annat som maskinvaran kan överföra. Egenskapen PacketDescription för objektet Stroke beskriver de paket som en Tablet genererar.
Linjer
Du kan hämta en ögonblicksbild av linjerna i ett ink- objekt med hjälp av egenskapen Ink objektets egenskap Strokes. Egenskapen Strokes är en samling referenser till strecken i objektet Ink när egenskapen Strokes läse. Om linjer senare läggs till eller tas bort från objektet Ink uppdateras inte en tidigare erhållen Strokes-samlingen. Dessutom är egenskapen Strokes ett värde och går, precis som alla värden, utanför omfånget om den inte tilldelas till en variabel.
Om du vill att en egenskap för strokes ska synkroniseras med ett ink--objekt, omsluter du den i en händelsehanterare för StrokesAdded och StrokesRemoved events on the Strokes collection. Hanteraren bör hämta en ny kopia av egenskapen Strokes när någon av händelseerna utlöses. Var noga med att inte lägga till händelsehanteraren i en Strokes samling som ligger utanför omfånget innan händelsen utlöses.
Observera i det här exemplet att theAddedStrokesIDs uppdateras med en ny kopia av egenskapen strokes i StrokesAdded_Event-hanteraren.
public void StrokesAdded_Event(object sender, StrokesEventArgs e)
{
int [] theAddedStrokesIDs = e.StrokeIds;
theListBox.Items.Clear();
foreach (int i in theAddedStrokesIDs)
{
theListBox.Items.Add("Added Stroke ID: " + i.ToString());
}
}
PacketDescription-egenskap
Egenskapen Ink-objektets PacketDescription definierar den uppsättning information i varje paket som programmet hämtar från en Tablet PC-enhet. Informationen innehåller vanligtvis koordinater, men den kan innehålla mycket mer detaljerad information (beroende på vad funktionerna i Tablet PC-digitaliseraren har) som penntryck eller pennvinkel. Genom att ange paketbeskrivningar på InkCollector- eller InkOverlay- objekt innan någon pennanteckning samlas in (med egenskapen DesiredPacketDescription) har du fullständig kontroll över vilka av egenskaperna för Tablet PC-enheter som du vill ta emot.
Utökade egenskaper
Utökade egenskaper ger en mekanism för att koppla programdefinierade data till Ink- och andra objekt. Mer information om utökade egenskaper finns i samlingen ExtendedProperties.
Pennanteckningsåtergivning
Objektet Renderer ansvarar för att återge ink-. Med tanke på en lämplig tablet-kontext kan Renderer--objektet mappa pennutrymmeskoordinater till pixlar, tillämpa visningstransformeringar och visa pennanteckningar på skärmar och skrivare. Metoderna Draw och DrawStroke är de primära metoderna för att återge pennanteckningar. Mer information om hur du visar pennanteckningar i ett fönster finns i objektet Renderer.
Kuspar
Ett slag börjar normalt när pennan sänks till ritytan och slutar när pennan höjs. Inom ett slag kallas toppar, vinklar och radikala riktningsändringar cusps. Slutpunkterna för en stroke betraktas också som cusps. Versal bokstaven "L" har till exempel tre cusps, en i mitten och en i varje ände.
När en linje anges jämnas den normalt ut och renderas med hjälp av en Bezier-kurva (eller polyline). Bezier-kurvor kan förvandla cusps till små slingor. Till exempel kan toppen av den kursiva bokstaven "i" jämnas ut så att den liknar den kursiva "e". För att förhindra detta har Microsoft-renderare en "pre-Bezier"-fas som hanterar cusps på olika sätt.
Cusps kan också användas för att dela upp stroke objekt i raderbara enheter. Om du till exempel väljer den lodräta sidan av ett versalt "L" kan det tyda på att just den sidan raderas. Den del av stroken som ska raderas skulle vara delen mellan två cusps.