Shape

Shape class

Otomatik Şekil, metin kutusu, serbest biçim, OLE nesnesi, ActiveX denetimi veya resim gibi çizim katmanındaki bir nesneyi temsil eder.

Daha fazlasını öğrenmek için şu adresi ziyaret edin:Şekillerle Çalışmak dokümantasyon makalesi.

public sealed class Shape : ShapeBase

yapıcılar

İsimTanım
Shape(DocumentBaseShapeType)Yeni bir şekil nesnesi oluşturur.

Özellikleri

İsimTanım
AllowOverlap { get; set; }Bu şeklin diğer şekillerle örtüşüp çakışmayacağını belirten bir değer alır veya ayarlar.
AlternativeText { get; set; }Grafik yerine görüntülenecek alternatif metni tanımlar.
AnchorLocked { get; set; }Şeklin bağlantısının kilitli olup olmadığını belirtir.
AspectRatioLocked { get; set; }Şeklin en boy oranının kilitli olup olmadığını belirtir.
BehindText { get; set; }Şeklin metnin altında mı yoksa üstünde mi olacağını belirtir.
Bottom { get; }Şeklin taşıyıcı bloğunun alt kenarının konumunu alır.
Bounds { get; set; }Şeklin bulunduğu bloğun konumunu ve boyutunu alır veya ayarlar.
BoundsInPoints { get; }En üstteki şeklin bağlantısına göre, şeklin içerdiği blokun konumunu ve boyutunu noktalar cinsinden alır.
BoundsWithEffects { get; }Çizim efektleri uygulandıktan sonra bu şekil nesnesinin sahip olduğu son boyutu alır. Değer, nokta cinsinden ölçülür.
CanHaveImage { get; }İadelerdoğru şekil türü, şeklin bir resme sahip olmasına izin veriyorsa.
Chart { get; }Bu şeklin bir özelliği varsa grafik özelliklerine erişim sağlarChart .
CoordOrigin { get; set; }Bu şeklin bulunduğu bloğun sol üst köşesindeki koordinatlar.
CoordSize { get; set; }Bu şeklin bulunduğu bloğun içindeki koordinat alanının genişliği ve yüksekliği.
Count { get; }Bu düğümün doğrudan alt öğelerinin sayısını alır.
CustomNodeId { get; set; }Özel düğüm tanımlayıcısını belirtir.
DistanceBottom { get; set; }Belge metni ile şeklin alt kenarı arasındaki mesafeyi (nokta cinsinden) döndürür veya ayarlar.
DistanceLeft { get; set; }Belge metni ile şeklin sol kenarı arasındaki mesafeyi (nokta cinsinden) döndürür veya ayarlar.
DistanceRight { get; set; }Belge metni ile şeklin sağ kenarı arasındaki mesafeyi (nokta cinsinden) döndürür veya ayarlar.
DistanceTop { get; set; }Belge metni ile şeklin üst kenarı arasındaki mesafeyi (nokta cinsinden) döndürür veya ayarlar.
virtual Document { get; }Bu düğümün ait olduğu belgeyi alır.
ExtrusionEnabled { get; }İadelerdoğru ekstrüzyon efekti etkinse.
Fill { get; }Şeklin dolgu formatını alır.
FillColor { get; set; }Şeklin kapalı yolunu dolduran fırça rengini tanımlar.
Filled { get; set; }Şeklin kapalı yolunun doldurulup doldurulmayacağını belirler.
FirstChild { get; }Düğümün ilk çocuğunu alır.
FirstParagraph { get; }Şeklin ilk paragrafını alır.
FlipOrientation { get; set; }Şeklin yönünü değiştirir.
Font { get; }Bu nesnenin yazı tipi formatlamasına erişim sağlar.
HasChart { get; }İadelerdoğru Eğer buShape bir varChart .
HasChildNodes { get; }İadelerdoğru bu düğümün herhangi bir alt düğümü varsa.
HasImage { get; }İadelerdoğru şeklin görüntü baytları varsa veya bir görüntüye bağlantı veriyorsa.
HasSmartArt { get; }İadelerdoğru Eğer buShape bir SmartArt nesnesi var.
Height { get; set; }Şeklin bulunduğu bloğun yüksekliğini alır veya ayarlar.
HeightRelative { get; set; }Şeklin göreceli yüksekliğinin yüzdesini temsil eden değeri alır veya ayarlar.
HorizontalAlignment { get; set; }Şeklin yatay olarak nasıl konumlandırılacağını belirtir.
HorizontalRuleFormat { get; }Yatay kural şeklinin özelliklerine erişim sağlar. Yatay kural olmayan bir şekil için şunu döndürür:hükümsüz .
HRef { get; set; }Bir şeklin tam köprü adresini alır veya ayarlar.
ImageData { get; }Şeklin görüntüsüne erişim sağlar. Döndürürhükümsüz şeklin bir resmi olamazsa.
override IsComposite { get; }İadelerdoğru çünkü bu düğüm alt düğümlere sahip olabilir.
IsDecorative { get; set; }Belgedeki şeklin dekoratif olup olmadığını belirten bayrağı alır veya ayarlar.
IsDeleteRevision { get; }Değişiklik izleme etkinken bu nesne Microsoft Word’de silinmişse true değerini döndürür.
IsGroup { get; }İadelerdoğru eğer bu bir grup şekli ise.
IsHorizontalRule { get; }İadelerdoğru eğer bu şekil yatay bir kural ise.
IsImage { get; }İadelerdoğru bu şekil bir resim şekli ise.
IsInline { get; }Bu şeklin metinle satır içi olarak konumlandırılıp konumlandırılmadığını belirlemenin hızlı bir yolu.
IsInsertRevision { get; }Bu nesne Microsoft Word’e değişiklik izleme etkinken eklenmişse doğru değerini döndürür.
IsLayoutInCell { get; set; }Şeklin tablonun içinde mi yoksa dışında mı görüntüleneceğini belirten bir bayrak alır veya ayarlar.
IsMoveFromRevision { get; }İadelerdoğru değişiklik izleme etkinken bu nesne Microsoft Word’de taşındıysa (silindiyse).
IsMoveToRevision { get; }İadelerdoğru bu nesne Microsoft Word’de değişiklik izleme etkinken taşınmışsa (eklenmişse).
IsSignatureLine { get; }Şeklin bir olduğunu belirtirSignatureLine .
IsTopLevel { get; }İadelerdoğrubu şekil bir grup şeklinin alt öğesi değilse.
IsWordArt { get; }İadelerdoğru bu şekil bir WordArt nesnesiyse.
LastChild { get; }Düğümün son çocuğunu alır.
LastParagraph { get; }Şeklin son paragrafını alır.
Left { get; set; }Şeklin içeren bloğunun sol kenarının konumunu alır veya ayarlar.
LeftRelative { get; set; }Şeklin göreceli sol konumunu yüzde cinsinden temsil eden değeri alır veya ayarlar.
MarkupLanguage { get; }Bu grafik nesnesi için kullanılan MarkupLanguage’ı döndürür.
Name { get; set; }İsteğe bağlı şekil adını alır veya ayarlar.
NextSibling { get; }Bu düğümden hemen sonra gelen düğümü alır.
override NodeType { get; }İadelerShape .
OleFormat { get; }Bir şeklin OLE verilerine erişim sağlar. OLE nesnesi veya ActiveX denetimi olmayan bir şekil için şunu döndürür:hükümsüz .
ParentNode { get; }Bu düğümün doğrudan ebeveynini alır.
ParentParagraph { get; }Doğrudan üst paragrafı döndürür.
PreviousSibling { get; }Bu düğümden hemen önceki düğümü alır.
Range { get; }Bir değeri döndürürRange Bu düğümde bulunan bir belgenin bölümünü temsil eden nesne.
RelativeHorizontalPosition { get; set; }Şeklin yatay olarak nasıl konumlandırılacağına göre belirtir.
RelativeHorizontalSize { get; set; }Şeklin göreceli boyutunun değerini yatay yönde alır veya ayarlar.
RelativeVerticalPosition { get; set; }Şeklin dikey olarak neye göre konumlandırıldığını belirtir.
RelativeVerticalSize { get; set; }Şeklin göreli boyutunun değerini dikey yönde alır veya ayarlar.
Right { get; }Şeklin içeren bloğunun sağ kenarının konumunu alır.
Rotation { get; set; }Şeklin döndürüldüğü açıyı (derece cinsinden) tanımlar. Pozitif değer, saat yönünde dönüş açısına karşılık gelir.
ScreenTip { get; set; }Fare işaretçisi şeklin üzerine geldiğinde görüntülenecek metni tanımlar.
ShadowEnabled { get; }İadelerdoğru gölge efekti etkinse.
ShadowFormat { get; }Şeklin gölge formatını alır.
ShapeType { get; }Şekil türünü alır.
SignatureLine { get; }AlırSignatureLine Şekil bir imza çizgisiyse nesne. İadelerhükümsüz aksi halde.
SizeInPoints { get; }Şeklin boyutunu nokta cinsinden alır.
StoryType { get; }İadelerTextbox .
Stroke { get; }Bir şeklin konturunu tanımlar.
StrokeColor { get; set; }Konturun rengini tanımlar.
Stroked { get; set; }Yolun vuruşlu olup olmayacağını tanımlar.
StrokeWeight { get; set; }Bir şeklin yolunu nokta olarak konturlayan fırça kalınlığını tanımlar.
Target { get; set; }Şekil köprüsü için hedef çerçeveyi alır veya ayarlar.
TextBox { get; }Metnin bir şekilde nasıl görüntüleneceğini belirten nitelikleri tanımlar.
TextPath { get; }Metin yolunun metnini (bir WordArt nesnesinin) tanımlar.
Title { get; set; }Geçerli şekil nesnesinin başlığını (başlığını) alır veya ayarlar.
Top { get; set; }Şeklin içeren bloğunun üst kenarının konumunu alır veya ayarlar.
TopRelative { get; set; }Şeklin göreli üst konumunu yüzde cinsinden temsil eden değeri alır veya ayarlar.
VerticalAlignment { get; set; }Şeklin dikey olarak nasıl konumlandırılacağını belirtir.
Width { get; set; }Şeklin içeren bloğunun genişliğini alır veya ayarlar.
WidthRelative { get; set; }Şeklin göreceli genişliğinin yüzdesini temsil eden değeri alır veya ayarlar.
WrapSide { get; set; }Metnin şeklin etrafına nasıl sarıldığını belirtir.
WrapType { get; set; }Şeklin satır içi mi yoksa kayan mı olduğunu tanımlar. Kayan şekiller için, şeklin etrafındaki metin için kaydırma modunu tanımlar.
ZOrder { get; set; }Çakışan şekillerin görüntülenme sırasını belirler.

yöntemler

İsimTanım
override Accept(DocumentVisitor)Ziyaretçi kabul eder.
AdjustWithEffects(RectangleF)Efekt kapsamının kaynak dikdörtgen değerlerine eklenir ve son dikdörtgeni döndürür.
AppendChild(Node)Belirtilen düğümü, bu düğüm için alt düğümler listesinin sonuna ekler.
Clone(bool)Düğümün bir kopyasını oluşturur.
CreateNavigator()Düğümlerin arasında geçiş yapmak ve düğümleri okumak için kullanılabilecek gezgini oluşturur.
FetchInheritedShapeAttr(int)Sistem kullanımı için ayrılmıştır. IShapeAttrSource.
FetchShapeAttr(int)Sistem kullanımı için ayrılmıştır. IShapeAttrSource.
GetAncestor(NodeType)Belirtilenin ilk atayı alırNodeType .
GetAncestor(Type)Belirtilen nesne türünün ilk atayı alır.
GetChild(NodeType, int, bool)Belirtilen türle eşleşen N’inci alt düğümü döndürür.
GetChildNodes(NodeType, bool)Belirtilen türle eşleşen alt düğümlerin canlı bir koleksiyonunu döndürür.
GetDirectShapeAttr(int)Sistem kullanımı için ayrılmıştır. IShapeAttrSource.
GetEnumerator()Bu düğümün alt düğümleri üzerindeki her stil yinelemesi için destek sağlar.
GetShapeRenderer()Bu şekli bir görüntüye dönüştürmek için kullanılabilecek bir nesne oluşturur ve döndürür.
override GetText()Bu düğümün ve tüm alt öğelerinin metnini alır.
IndexOf(Node)Alt düğüm dizisinde belirtilen alt düğümün dizinini döndürür.
InsertAfter(NodeNode)Belirtilen düğümü, belirtilen referans düğümünün hemen sonrasına ekler.
InsertBefore(NodeNode)Belirtilen düğümü, belirtilen referans düğümünün hemen öncesine ekler.
LocalToParent(PointF)Yerel koordinat alanından bir değeri üst şeklin koordinat alanına dönüştürür.
NextPreOrder(Node)Ön sipariş ağaç geçiş algoritmasına göre sonraki düğümü alır.
PrependChild(Node)Belirtilen düğümü, bu düğüm için alt düğümler listesinin başına ekler.
PreviousPreOrder(Node)Ön sipariş ağaç geçiş algoritmasına göre önceki düğümü alır.
Remove()Kendini üst öğeden kaldırır.
RemoveAllChildren()Geçerli düğümün tüm alt düğümlerini kaldırır.
RemoveChild(Node)Belirtilen alt düğümü kaldırır.
RemoveShapeAttr(int)Sistem kullanımı için ayrılmıştır. IShapeAttrSource.
RemoveSmartTags()Tümünü kaldırırSmartTagGeçerli düğümün alt düğümleri.
SelectNodes(string)XPath ifadesiyle eşleşen düğümlerin listesini seçer.
SelectSingleNode(string)İlkini seçerNode XPath ifadesiyle eşleşen.
SetShapeAttr(int, object)Sistem kullanımı için ayrılmıştır. IShapeAttrSource.
ToString(SaveFormat)Düğümün içeriğini belirtilen formatta bir dizeye aktarır.
ToString(SaveOptions)Belirtilen kaydetme seçeneklerini kullanarak düğümün içeriğini bir dizeye aktarır.
UpdateSmartArtDrawing()Aspose.Words’ün SmartArt soğuk işleme motorunu kullanarak SmartArt önceden oluşturulmuş çizimi günceller.

Notlar

KullanmakShape sınıfında bir Microsoft Word belgesinde şekiller oluşturabilir veya değiştirebilirsiniz.

Bir şeklin önemli bir özelliği onunShapeTypeFarklı türlerindeki şekiller, bir Word belgesinde farklı yeteneklere sahip olabilir. Örneğin, yalnızca görüntünün ve OLE şekil ’nin içlerinde görüntüler bulunabilir. Şekillerin çoğunda metin bulunabilir, ancak hepsinde olmayabilir.

Metin içerebilen şekiller şunları içerebilirParagraph ve Table çocuklar gibi düğümler.

Örnekler

Sayfanın ortasına kayan bir görüntünün nasıl ekleneceğini gösterir.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Çakışan metnin arkasında görünecek kayan bir resim ekleyin ve onu sayfanın ortasına hizalayın.
Shape shape = builder.InsertImage(ImageDir + "Logo.jpg");
shape.WrapType = WrapType.None;
shape.BehindText = true;
shape.RelativeHorizontalPosition = RelativeHorizontalPosition.Page;
shape.RelativeVerticalPosition = RelativeVerticalPosition.Page;
shape.HorizontalAlignment = HorizontalAlignment.Center;
shape.VerticalAlignment = VerticalAlignment.Center;

doc.Save(ArtifactsDir + "Image.CreateFloatingPageCenter.docx");

Bir belgeden görüntülerin nasıl çıkarılacağını ve bunların yerel dosya sistemine ayrı dosyalar olarak nasıl kaydedileceğini gösterir.

Document doc = new Document(MyDir + "Images.docx");

// Belgedeki şekillerin koleksiyonunu alın,
// ve resim içeren her şeklin resim verilerini dosya olarak yerel dosya sistemine kaydedin.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);

Assert.AreEqual(9, shapes.Count(s => ((Shape)s).HasImage));

int imageIndex = 0;
foreach (Shape shape in shapes.OfType<Shape>())
{
    if (shape.HasImage)
    {
         // Şekillerin görüntü verileri birçok olası görüntü formatındaki görüntüleri içerebilir.
        // Her görsel için formatına göre otomatik olarak bir dosya uzantısı belirleyebiliriz.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Bir belgedeki tüm şekillerin nasıl silineceğini gösterir.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// İki şekli, içinde başka bir şekil bulunan bir grup şekliyle birlikte ekleyin.
builder.InsertShape(ShapeType.Rectangle, 400, 200);
builder.InsertShape(ShapeType.Star, 300, 300);

GroupShape group = new GroupShape(doc);
group.Bounds = new RectangleF(100, 50, 200, 100);
group.CoordOrigin = new Point(-1000, -500);

Shape subShape = new Shape(doc, ShapeType.Cube);
subShape.Width = 500;
subShape.Height = 700;
subShape.Left = 0;
subShape.Top = 0;

group.AppendChild(subShape);
builder.InsertNode(group);

Assert.AreEqual(3, doc.GetChildNodes(NodeType.Shape, true).Count);
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);

// Tüm Şekil düğümlerini belgeden kaldırın.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
shapes.Clear();

// Tüm şekiller gitti ancak grup şekli hâlâ belgede.
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);

// Tüm grup şekillerini ayrı ayrı kaldırın.
NodeCollection groupShapes = doc.GetChildNodes(NodeType.GroupShape, true);
groupShapes.Clear();

Assert.AreEqual(0, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);

Ayrıca bakınız