Grafik
.NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI), ad alanından türler kullanılarak 2B grafiklerin çizilebileceği platformlar arası bir grafik tuvali Microsoft.Maui.Graphics sağlar. Bu tuval şekilleri ve resimleri çizmeyi ve boyamayı, birleştirme işlemlerini ve grafik nesne dönüşümlerini destekler.
tarafından Microsoft.Maui.Graphicssağlanan işlevler ile .NET MAUI şekilleri ve fırçaları tarafından sağlanan işlevler arasında birçok benzerlik vardır. Ancak her biri farklı senaryolara yöneliktir:
- Microsoft.Maui.Graphics işlevselliği bir çizim tuvalinde kullanılmalıdır, performanslı grafiklerin çizilmesine olanak tanır ve grafik tabanlı denetimler yazmak için kullanışlı bir yaklaşım sağlar. Örneğin, GitHub katkı profilini çoğaltan bir denetim, .NET MAUI şekillerinin kullanılmasından daha kolay bir şekilde kullanılabilir Microsoft.Maui.Graphics .
- .NET MAUI şekilleri doğrudan bir sayfada kullanılabilir ve fırçalar tüm denetimler tarafından kullanılabilir. Bu işlevsellik, çekici bir kullanıcı arabirimi oluşturmanıza yardımcı olmak için sağlanır.
.NET MAUI şekilleri hakkında daha fazla bilgi için bkz . Şekiller.
Grafik çizme
.NET MAUI'de GraphicsView işlevin tüketimine Microsoft.Maui.Graphics olanak tanır. GraphicsViewDrawable
denetimi tarafından çizilecek içeriği belirten türündeki IDrawable
özelliğini tanımlar. Çizilecek içeriği belirtmek için öğesinden IDrawable
türetilen bir nesne oluşturmanız ve yöntemini Draw
uygulamanız gerekir:
namespace MyMauiApp
{
public class GraphicsDrawable : IDrawable
{
public void Draw(ICanvas canvas, RectF dirtyRect)
{
// Drawing code goes here
}
}
}
yönteminin Draw
ve RectF
bağımsız değişkenleri vardırICanvas. ICanvas Bağımsız değişken, üzerine grafik nesneler çizdiğiniz çizim tuvalidir. RectF
bağımsız değişkeni, çizim tuvalinin boyutu ve konumu hakkında veriler içeren bir struct
bağımsız değişkendir.
XAML'de IDrawable
nesne bir kaynak olarak bildirilebilir ve ardından anahtarını özelliğin Drawable
değeri olarak belirterek tarafından GraphicsView kullanılabilir:
<ContentPage xmlns=http://schemas.microsoft.com/dotnet/2021/maui
xmlns:x=http://schemas.microsoft.com/winfx/2009/xaml
xmlns:drawable="clr-namespace:MyMauiApp"
x:Class="MyMauiApp.MainPage">
<ContentPage.Resources>
<drawable:GraphicsDrawable x:Key="drawable" />
</ContentPage.Resources>
<VerticalStackLayout>
<GraphicsView Drawable="{StaticResource drawable}"
HeightRequest="300"
WidthRequest="400" />
</VerticalStackLayout>
</ContentPage>
hakkında GraphicsViewdaha fazla bilgi için bkz . GraphicsView.
Çizim tuvali
DenetimGraphicsView, üzerinde özelliklerin ayarlanabildiği ve grafik nesneler çizmek için çağrılan yöntemlerin bulunduğu nesnesi aracılığıyla IDrawable
bir ICanvas nesneye erişim sağlar. üzerinde ICanvasçizim yapma hakkında bilgi için bkz . Grafik nesneleri çizme.
ICanvas tuvalde çizilen nesnelerin görünümünü etkileyen aşağıdaki özellikleri tanımlar:
- Alpha, türünde
float
bir nesnenin opaklığını gösterir. - Antialias
bool
türünde, diğer ad önlemenin etkinleştirilip etkinleştirilmediğini belirtir. - BlendModetüründe BlendMode, var olan bir nesnenin üzerinde bir nesne işlendiğinde ne olacağını belirleyen karıştırma modunu tanımlar.
- DisplayScaletüründe
float
, kullanıcı arabirimini tuvale göre ölçeklendirmek için ölçeklendirme faktörünü temsil eder. - FillColortüründe Color, bir nesnenin içini boyamak için kullanılan rengi gösterir.
- Font, türünde IFont, metin çizerken yazı tipini tanımlar.
- FontColorColoryazın, metin çizerken yazı tipi rengini belirtir.
- FontSize
float
türünde, metin çizerken yazı tipinin boyutunu tanımlar. - MiterLimittüründe
float
, bir nesnedeki satır birleştirmelerinin sicim uzunluğunun sınırını belirtir. - StrokeColor, türünde Colorbir nesnenin ana hattını boyamak için kullanılan rengi gösterir.
- StrokeDashOffsettüründe
float
, tire deseninin içinde bir tirenin başladığı uzaklığı belirtir. - StrokeDashPatterntüründe
float[]
, bir nesnenin ana hatlarını oluşturmak için kullanılan tire ve boşluk desenini belirtir. - StrokeLineCaptüründe LineCap, çizginin başındaki ve sonundaki şekli açıklar.
- StrokeLineJointüründe LineJoin, şeklin köşelerinde kullanılan birleştirme türünü belirtir.
- StrokeSize, türünde
float
bir nesnenin ana hattının genişliğini gösterir.
Varsayılan olarak, bir ICanvas 1, siyah, StrokeLineJoinStrokeColor olarak LineJoin.Miter
ve StrokeLineCap olarak LineJoin.Cap
ayarlarStrokeSize.
Çizim tuval durumu
Her platformdaki çizim tuvali, durumunu koruyabilme özelliğine sahiptir. Bu, geçerli grafik durumunu kalıcı hale getirerek gerektiğinde geri yüklemenize olanak tanır.
Ancak, tuvalin tüm öğeleri grafik durumunun öğeleri değildir. Grafik durumu, yollar gibi çizim nesnelerini ve gradyanlar gibi boya nesnelerini içermez. Her platformdaki grafik durumunun tipik öğeleri vuruş ve dolgu verileri ile yazı tipi verilerini içerir.
Her ICanvas birinin grafik durumu aşağıdaki yöntemlerle değiştirilebilir:
- SaveState, geçerli grafik durumunu kaydeder.
- RestoreState, grafik durumunu en son kaydedilen duruma ayarlar.
- ResetState, grafik durumunu varsayılan değerlerine sıfırlar.
Dekont
Bu yöntemler tarafından kalıcı hale gelen durum platforma bağlıdır.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin