ImageData

ImageData class

Bir şekil için bir resim tanımlar.

public class ImageData

Özellikleri

İsim Tanım
BiLevel { get; set; } Bir görüntünün siyah beyaz gösterilip gösterilmeyeceğini belirler.
Borders { get; } Resmin kenarlıklarının koleksiyonunu alır. Kenarlıklar yalnızca satır içi resimler için etkilidir.
Brightness { get; set; } Resmin parlaklığını alır veya ayarlar. Bu özelliğin değeri 0.0 (en karanlık) ile 1.0 (en parlak) arasında bir sayı olmalıdır.
ChromaKey { get; set; } Saydam olarak değerlendirilecek görüntünün renk değerini tanımlar.
Contrast { get; set; } Belirtilen resim için kontrastı alır veya ayarlar. Bu özellik için değer , 0,0 (en az karşıtlık) ile 1,0 (en büyük karşıtlık) arasında bir sayı olmalıdır.
CropBottom { get; set; } Alt taraftan resmin kaldırılma oranını tanımlar.
CropLeft { get; set; } Sol taraftan resmin kaldırılma oranını tanımlar.
CropRight { get; set; } Sağ taraftan resmin kaldırılma oranını tanımlar.
CropTop { get; set; } Üst taraftan resmin kaldırılma oranını tanımlar.
GrayScale { get; set; } Bir resmin gri tonlama modunda gösterilip gösterilmeyeceğini belirler.
HasImage { get; } Şekilde görüntü baytları varsa veya bir görüntüye bağlanırsa true değerini döndürür.
ImageBytes { get; set; } Şekilde saklanan görüntünün ham baytlarını alır veya ayarlar.
ImageSize { get; } Görüntü boyutu ve çözünürlüğü hakkında bilgi alır.
ImageType { get; } Resmin türünü alır.
IsLink { get; } Görüntü şekle bağlıysa true döndürür (ne zamanSourceFullName belirtilir).
IsLinkOnly { get; } Resim bağlantılıysa ve belgede saklanmıyorsa true değerini döndürür.
SourceFullName { get; set; } Bağlantılı görüntü için kaynak dosyanın yolunu ve adını alır veya ayarlar.
Title { get; set; } Bir görüntünün başlığını tanımlar.

yöntemler

İsim Tanım
Save(Stream) Resmi belirtilen akışa kaydeder.
Save(string) Resmi bir dosyaya kaydeder.
SetImage(Image) Şeklin gösterdiği görüntüyü ayarlar.
SetImage(Stream) Şeklin gösterdiği görüntüyü ayarlar.
SetImage(string) Şeklin gösterdiği görüntüyü ayarlar.
ToByteArray() Görüntünün depolanmış veya bağlantılı olmasına bakılmaksızın herhangi bir görüntü için görüntü baytlarını döndürür.
ToImage() Şekilde depolanan görüntüyü birImage nesne.
ToStream() Görüntü baytlarını içeren bir akış oluşturur ve döndürür.

Notlar

KullanImageData bir şeklin içindeki resme erişme ve onu değiştirme özelliği. ImageData doğrudan sınıf.

Bir görüntü, bir şeklin içinde, harici dosyaya bağlı olarak veya her ikisinde de saklanabilir (bağlantılı ve belgede saklanabilir).

Resmin şeklin içinde mi yoksa bağlantılı olarak mı saklandığına bakılmaksızın, her zaman aktüel resmine şu komutu kullanarak erişebilirsiniz:ToByteArray ,ToStream ,ToImage veyaSave yöntemleri. Görüntü şeklin içinde saklanıyorsa, aynı zamandaImageBytes Emlak.

Bir resmi bir şeklin içinde saklamak içinSetImage yöntem. Bir görüntüyü bir şekle bağlamak içinSourceFullName Emlak.

Örnekler

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");

// Belgeden şekil koleksiyonunu alın,
// ve bir görüntü ile her şeklin görüntü verilerini yerel dosya sistemine dosya olarak 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ının görüntülerini içerebilir. 
        // Her resim 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 belgeye bağlantılı bir görüntünün nasıl ekleneceğini gösterir.

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

string imageFileName = ImageDir + "Windows MetaFile.wmf";

// Aşağıda, bir şekli gösterebilmesi için bir şekle bir resim uygulamanın iki yolu verilmiştir.
// 1 - Resmi içerecek şekli ayarlayın.
Shape shape = new Shape(builder.Document, ShapeType.Image);
shape.WrapType = WrapType.Inline;
shape.ImageData.SetImage(imageFileName);

builder.InsertNode(shape);

doc.Save(ArtifactsDir + "Image.CreateLinkedImage.Embedded.docx");

// Formda sakladığımız her resim belgemizin boyutunu artıracaktır.
Assert.True(70000 < new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Embedded.docx").Length);

doc.FirstSection.Body.FirstParagraph.RemoveAllChildren();

// 2 - Yerel dosya sistemindeki bir görüntü dosyasına bağlanacak şekli ayarlayın.
shape = new Shape(builder.Document, ShapeType.Image);
shape.WrapType = WrapType.Inline;
shape.ImageData.SourceFullName = imageFileName;

builder.InsertNode(shape);
doc.Save(ArtifactsDir + "Image.CreateLinkedImage.Linked.docx");

// Resimlere bağlantı vermek yerden tasarruf sağlar ve daha küçük bir belgeyle sonuçlanır.
// Ancak, belge yalnızca görüntüyü doğru olarak görüntüleyebilir.
// görüntü dosyası, şeklin "SourceFullName" özelliğinin işaret ettiği konumda bulunur.
Assert.True(10000 > new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Linked.docx").Length);

Ayrıca bakınız