Ink API modüler hale getirildiğinden yalnızca ihtiyacınız olanı kullanabilirsiniz.
Vuruş sayısı
Çizgiler modülü; Mürekkep kitaplığının temelini oluşturur ve birincil API arayüzünü ve etkileşimde bulunmak için gereken temel veri türlerini içerir emin olmanız gerekir. Bu modüldeki temel veri türleri şunlardır:
StrokeInputBatch
: Konum, zaman damgası ve işaretçi girişlerini içeren bir dizi işaretçi girdisini temsil eder. isteğe bağlı olarak basınç, eğme ve yön. Bu veriler,Stroke
veyaInProgressStroke
el yazısı için girdi sağlayan türdedir. kullanabilirsiniz.Stroke
: Sabit çizginin sabit geometriye sahip temsili. Kalın çizgi, birImmutableStrokeInputBatch
(giriş noktaları), birBrush
(stil) ve birPartitionedMesh
(geometrik şekil) içerir. Vuruşları uygulamanızda saklayabilir, değiştirebilir ve oluşturabilirsiniz.InProgressStroke
:Stroke
için, çizim işlemi sırasında artımlı giriş işleme ve gerçek zamanlı oluşturma için tasarlanmış, değiştirilebilir bir eşdeğer. GenellikleInProgressStrokesView
aracılığıyla dolaylı olarak kullanılsa daInProgressStroke
, gelişmiş özelleştirme için doğrudan kullanılabilir.
Geometri
Geometri modülü hem temel hem de karmaşık yapı taşları için bir dizi temel geometrik öğe sunar ve dönüşüm işlemlerini yapabilirsiniz. Bu primitifler, mürekkep vuruşlarıyla sorunsuz bir şekilde entegre olur ve tüm vuruş silgileri ve seçim çerçevesi araçları gibi özellikler oluşturmanıza olanak tanır.
Box
ve Vec
gibi sınıflar temel olarak geometrik işlemleri kolaylaştırırken PartitionedMesh
, oluşturmaya özgü veriler de içerebilir.
Fırça
Brush modülü
fırça oluşturma ve oluşturma için bildirim temelli bir yapılandırma işlevi görür,
bir metin yazı tipine benzer
şekilde çalıştığından emin olun. Brush
nesnesi aşağıdaki özelliklere sahiptir:
- Renk: Düz renk veya katmanlı efektler ile dokuların temeli olabilir.
- Boyut: Sabit olabilir veya dinamik boyut ayarlamaları için temel olarak kullanılabilir.
- Aile: Metin yazı tipine benzer şekilde, aile, konturun genel stilini tanımlar.
- Epsilon: En küçük görsel ayrım birimini temsil eden, çizginin vektör geometrisindeki ayrıntı düzeyini kontrol eder.
epsilon
mülkü, koordinat sisteminizin hassasiyetini belirlemede önemli bir role sahiptir. Uygun bir epsilon değeri seçme hakkında daha fazla bilgiyi Fırça API'leri bölümünde bulabilirsiniz.
BrushFamily
şu işlevi görür:
ayrıntıya inmeden etkileyici darbeler oluşturmak için güçlü bir yapılandırma
veya oluşturma kodundan kaçının. Kitaplık, önceden tanımlanmış bir grup
StockBrushes
, şunlar da dahil:
basınca duyarlı tükenmez kalem, vurgulayıcı ve keçeli kalem.
Yazma
Authoring
modülü, geliştiricilerin kullanıcı dokunma girişini yakalayıp gerçek zamanlı olarak ekranda düşük gecikmeli vuruş olarak oluşturmasına olanak tanır. Bu,
InProgressStrokesView
sınıf,
özelliği, hareket etkinliklerini işleyen ve çizgileri çizildiği sırada görselleştiren bir uygulamadır.
Bir çizgi tamamlandıktan sonra modül,
onStrokesFinished()
geri arama
InProgressStrokesFinishedListener
.
Geri çağırma işlevi, uygulamanın oluşturma veya depolama için bitmiş vuruş verilerini almasına olanak tanır.
Oluşturma
Oluşturma modülü, bir yüzeye mürekkep çizgisi çizme işlemini
Android Canvas
. Bu modül, oluşturma için CanvasStrokeRenderer
ve görüntüye dayalı düzenler için ViewStrokeRenderer
seçeneği sunar. Her ikisi de oluşturma performansını optimize eder ve kenar yumuşatma dahil olmak üzere yüksek kaliteli görseller sağlar.
Tuvalde fırça darbeleri oluşturmak için
CanvasStrokeRenderer
kullanılan örnek bir
create()
yöntemidir. Ardından, tamamlanmış veya devam eden vuruşları oluşturmak için draw()
yöntemini kullanın.
Kalem darbesinin çizimi sırasında tuval dönüştürülebilir (kaydırılabilir, yakınlaştırılabilir veya döndürülebilir). Ancak kalem darbesinin ekranda en iyi şekilde çizildiğinden emin olmak için tuvale uygulanan dönüştürme işleminin CanvasStrokeRenderer#draw()
'ye de iletilmesi gerekir.
Bunu ayrı olarak takip etmeniz gerekmemesi için bunun yerine ViewStrokeRenderer
seçeneğini kullanın.