WmfImage

Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject, com.aspose.imaging.DataStreamSupporter, com.aspose.imaging.Image, com.aspose.imaging.VectorImage, com.aspose.imaging.fileformats.emf.MetaImage

public class WmfImage extends MetaImage

Microsoft Windows Metafile (WMF) görüntülerini API’mizle manipüle edin, değişken uzunlukta kayıtlar içinde depolanan hem vektör hem de bitmap verilerini sorunsuz bir şekilde işleyin. Özel görüntü paletleri ayarlarken görüntüleri kolayca yeniden boyutlandırın, döndürün ve çevirin. WMF dosyalarını sıkıştırılmış WMZ formatlarına dönüştürün veya çoklu platform ve uygulamalarda esnek kullanım için raster görüntü formatlarında kaydedin.

Yapıcılar

YapıcıAçıklama
WmfImage()WmfImage sınıfının yeni bir örneğini oluşturun, Windows Metafile (WMF) görüntü verilerinin daha ileri manipülasyon ve işlenmesi için başlatın.
WmfImage(int width, int height)Özelleştirilebilir genişlik ve yükseklik parametreleriyle WmfImage sınıfının yeni bir örneğini başlatın, belirli boyutlara göre uyarlanmış boş WMF görüntüleri oluşturmayı kolaylaştırın.

Yöntemler

YöntemAçıklama
isCached()Nesnenin verisinin şu anda önbelleğe alınıp alınmadığını gösteren bir boolean değerini alın, ek veri okuma işlemlerine gerek kalmaz.
getBitsPerPixel()Görüntünün piksel başına bit sayısını alın, renk derinliği veya granülerlik seviyesini gösterir.
getWidthF()Görüntünün genişliğine erişin, yatay eksenindeki piksel sayısını gösterir.
getHeightF()Görüntünün yüksekliğine erişin, dikey eksenindeki piksel sayısını temsil eder.
getInch()İnç özelliğine erişin veya değiştirin, genellikle baskı veya görüntüleme bağlamlarında fiziksel boyutları belirtmek için kullanılan bir ölçü birimini temsil eder.
setInch(int value)İnç özelliğine erişin veya değiştirin, genellikle baskı veya görüntüleme bağlamlarında fiziksel boyutları belirtmek için kullanılan bir ölçü birimini temsil eder.
getFileFormat()Görüntüyle ilişkili dosya formatı değerine erişin, görüntünün depolandığı format hakkında bilgi sağlar.
getFrameBounds()Çerçevenin sınırlarına erişin, görüntü içindeki konum ve boyutlarını gösterir.
cacheData()Verileri verimli bir şekilde önbelleğe alın, temel DataStreamSupporter.DataStreamContainer(DataStreamSupporter.getDataStreamContainer) üzerinden ek yüklemeye gerek kalmaz.
setPalette(IColorPalette palette, boolean updateColors)Belirtilen paleti görüntüye uygulayın, renk temsilini özelleştirmeyi sağlar.
getUsedFonts()Metafile içinde kullanılan yazı tiplerinin listesini alın, görüntüde kullanılan yazı tipi kaynakları hakkında bilgi verir.
resizeCanvas(Rectangle newRectangle)Görüntünün tuvalini yeniden boyutlandırın, içerik korunurken boyutlarını ayarlayın.
addRecord(WmfObject record)Belirtilen kayıt nesnesini görüntüye dahil edin, içeriğini ek veri veya meta veri ile zenginleştirin.
getPostScript()Görüntüyle ilişkili PostScript verisine erişin, yapısı veya içeriği hakkında ayrıntılı bilgi sağlar.
getOriginalOptions()Orijinal görüntü seçeneklerini alır.

Example: This example shows how to load a WMF image from a file and convert it to SVG using WmfRasterizationOptions.

String dir = "c:\\temp\\";

// Aspose.Imaging.Image.Load kullanmak, WMF dahil tüm görüntü türlerini yüklemenin birleşik bir yoludur.
try (com.aspose.imaging.fileformats.wmf.WmfImage wmfImage = (com.aspose.imaging.fileformats.wmf.WmfImage)com.aspose.imaging.Image.load(dir + "test.wmf"))
{
    com.aspose.imaging.imageoptions.SvgOptions saveOptions = new com.aspose.imaging.imageoptions.SvgOptions();
                    
    // Metin şekillere dönüştürülecek.
    saveOptions.setTextAsShapes(true);

    com.aspose.imaging.imageoptions.WmfRasterizationOptions rasterizationOptions = new com.aspose.imaging.imageoptions.WmfRasterizationOptions();

    // Çizim yüzeyinin arka plan rengi.
    rasterizationOptions.setBackgroundColor(com.aspose.imaging.Color.getWhiteSmoke());

    // Sayfa boyutu.
    rasterizationOptions.setPageSize(Size.to_SizeF(wmfImage.getSize()));

    // Gömülü emf varsa emf işlenir; aksi takdirde wmf işlenir.
    rasterizationOptions.setRenderMode(com.aspose.imaging.fileformats.wmf.WmfRenderMode.Auto);

    saveOptions.setVectorRasterizationOptions(rasterizationOptions);

    wmfImage.save(dir + "test.output.svg", saveOptions);
}

Example: The following example shows how to convert a compressed images (*.

Aşağıdaki örnek, sıkıştırılmış görüntüleri (.emz,.wmz, *.svgz) raster formata nasıl dönüştüreceğinizi gösterir.

String[] files = new String[]{ "example.emz", "example.wmz", "example.svgz" };
String baseFolder = "D:\\Compressed\\";
for(String file : files)
{
    String inputFile = (baseFolder + file);
    String outFile = inputFile + ".png";
    try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
    {
        final com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = 
                (com.aspose.imaging.imageoptions.VectorRasterizationOptions) image.getDefaultOptions(new Object[]{Color.getWhite(), image.getWidth(), image.getHeight()});
        image.save(outFile, new com.aspose.imaging.imageoptions.PngOptions()
        {{
            setVectorRasterizationOptions(vectorRasterizationOptions);
        }});
    }
}

Example: The following example shows how to convert a wmz images to wmf format

String file = "example.wmz";
String baseFolder = "D:\\Compressed\\";
String inputFile = baseFolder + file;
String outFile = inputFile + ".wmf";
try (final com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
{
    final com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = new com.aspose.imaging.imageoptions.WmfRasterizationOptions()
    {{
        setPageSize(com.aspose.imaging.Size.to_SizeF(image.getSize()));
    }};
                
    image.save(outFile, new com.aspose.imaging.imageoptions.WmfOptions()
    {{
        setVectorRasterizationOptions(vectorRasterizationOptions);
    }});
}

Example: The following example shows how to convert a wmf images to wmz format

String file = "castle.wmf";
String baseFolder = "D:\\Compressed\\";
String inputFile = baseFolder + file;
String outFile = inputFile + ".wmz";
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
{
    com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = new com.aspose.imaging.imageoptions.WmfRasterizationOptions();
    vectorRasterizationOptions.setPageSize(com.aspose.imaging.Size.to_SizeF(image.getSize()));
    com.aspose.imaging.imageoptions.WmfOptions options = new com.aspose.imaging.imageoptions.WmfOptions();
    options.setVectorRasterizationOptions(vectorRasterizationOptions);
    options.setCompress(true);
    image.save(outFile, options);
}

WmfImage()

public WmfImage()

Windows Metafile (WMF) görüntü verilerinin daha sonraki işlenmesi ve manipülasyonu için başlatılan WmfImage sınıfının yeni bir örneğini oluşturun. Bu yapıcı, WMF görüntüleriyle çalışmak için temel bir nesne sağlar ve WMF görüntü işleme yeteneklerinin uygulamanızın işlevselliğine sorunsuz entegrasyonunu mümkün kılar.

WmfImage(int width, int height)

public WmfImage(int width, int height)

WmfImage sınıfının genişlik ve yükseklik parametreleri özelleştirilebilir şekilde yeni bir örneğini başlatın; bu, belirli boyutlara göre ayarlanmış boş WMF görüntüleri oluşturmayı kolaylaştırır. Bu yapıcıyı, kesin boyutlarla dinamik olarak WMF görüntüleri üretmek ve uygulamanız içinde esnek görüntü oluşturma ve manipülasyonu sağlamak için kullanın.

Parameters:

ParametreTürAçıklama
genişlikintGenişlik.
yükseklikintYükseklik.

isCached()

public boolean isCached()

Nesnenin verilerinin şu anda önbelleğe alınıp alınmadığını gösteren bir boolean değerini alın; bu, ek veri okuma işlemlerine gerek kalmadan yapılır. Bu özelliği, nesnenin verilerinin maliyetli veri alma süreçlerine ihtiyaç duymadan mevcut olup olmadığını belirleyerek uygulamanızda performansı optimize etmek için kullanın.

Returns: boolean

getBitsPerPixel()

public int getBitsPerPixel()

Görüntünün piksel başına bit sayısını alın; bu, renk derinliği veya granülerliğin seviyesini gösterir. Bu özelliği, görüntünün renk temsili ve hassasiyetini belirlemek, uyumluluk kontrolleri ve renkle ilgili işlemleri uygulamanızda kolaylaştırmak için kullanın.

Returns: int

getWidthF()

public float getWidthF()

Görüntünün genişliğine erişin; bu, yatay eksen boyunca piksel sayısını gösterir. Bu özelliği, görüntünün uzamsal boyutlarını ve en‑boy oranını belirlemek, uygulamanızda kesin yerleşim ve render ayarlamaları yapabilmek için kullanın.

Returns: float - Görüntünün piksel cinsinden genişliği.

getHeightF()

public float getHeightF()

Görüntünün yüksekliğine erişin; bu, dikey eksen boyunca piksel sayısını temsil eder. Bu özelliği, görüntünün uzamsal boyutlarını ve en‑boy oranını belirlemek, uygulamanızda doğru yerleşim ve render ayarlamaları yapabilmek için kullanın.

Returns: float - Görüntünün piksel cinsinden yüksekliği.

getInch()

public int getInch()

İnç özelliğine erişin veya onu değiştirin; bu, genellikle baskı veya görüntüleme bağlamlarında fiziksel boyutları belirtmek için kullanılan bir ölçü birimini temsil eder. Bu özelliği, görüntüyle ilişkili inç değerlerini belirlemek veya almak için kullanın; böylece uygulamanızda fiziksel boyutların doğru temsili sağlanır.

Returns: int

setInch(int value)

public void setInch(int value)

İnç özelliğine erişin veya onu değiştirin; bu, genellikle baskı veya görüntüleme bağlamlarında fiziksel boyutları belirtmek için kullanılan bir ölçü birimini temsil eder. Bu özelliği, görüntüyle ilişkili inç değerlerini belirlemek veya almak için kullanın; böylece uygulamanızda fiziksel boyutların doğru temsili sağlanır.

Parameters:

ParametreTürAçıklama
değerint

getFileFormat()

public long getFileFormat()

Görüntüyle ilişkili dosya formatı değerine erişin; bu, görüntünün depolandığı format hakkında bilgi verir. Bu özelliği, görüntünün dosya formatını belirlemek ve uygulamanızda uyumluluk kontrolleri ile format‑özel işlemleri kolaylaştırmak için kullanın.

Returns: long

getFrameBounds()

public final Rectangle getFrameBounds()

Çerçevenin sınırlarına erişin; bu, çerçevenin görüntü içindeki konum ve boyutlarını gösterir. Bu özelliği, çerçevenin uzamsal konumu hakkında ayrıntılı bilgi almak ve uygulamanızda kesin manipülasyon ve render sağlamak için kullanın.

Returns: Rectangle - the frame bounds.

cacheData()

public void cacheData()

Verileri verimli bir şekilde önbelleğe alın; bu, temel DataStreamSupporter.DataStreamContainer(DataStreamSupporter.getDataStreamContainer) üzerinden ek yüklemeye gerek kalmadan yapılır. Bu yöntemi, yerel veri önbelleğini depolayarak ve erişerek uygulamanızda performansı optimize etmek ve kaynak kullanımını en aza indirmek için kullanın.

Example: This example shows how to load a WMF image from a file and list all of its records.

String dir = "c:\\temp\\";

// Aspose.Imaging.Image.Load kullanmak, WMF dahil tüm görüntü türlerini yüklemenin birleşik bir yoludur.
com.aspose.imaging.fileformats.wmf.WmfImage wmfImage = (com.aspose.imaging.fileformats.wmf.WmfImage) com.aspose.imaging.Image.load(dir + "test.wmf");
try {
    // Tüm kayıtları yüklemek için verileri önbelleğe alın.
    wmfImage.cacheData();
    System.out.println("The total number of records: " + wmfImage.getRecords().size());

    // Anahtar bir kayıt türüdür, değer ise WMF görüntüsündeki o türdeki kayıt sayısını gösterir.
    java.util.HashMap<Class, Integer> types = new java.util.HashMap<>();

    // İstatistikleri topla
    for (Object obj : wmfImage.getRecords()) {
        com.aspose.imaging.fileformats.wmf.objects.WmfObject wmfObj = (com.aspose.imaging.fileformats.wmf.objects.WmfObject) obj;

        Class objType = wmfObj.getClass();
        if (!types.containsKey(objType)) {
            types.put(objType, 1);
        } else {
            int n = types.get(objType);
            types.put(objType, n + 1);
        }
    }

    // İstatistikleri yazdır
    System.out.println("Record Type                              Count");
    System.out.println("----------------------------------------------");
    for (java.util.Map.Entry<Class, Integer> entry : types.entrySet()) {
        String objectType = entry.getKey().getSimpleName();
        int numberOfEntrances = entry.getValue();

        // Çıktıyı boşluklarla hizala
        int alignmentPos = 40;
        char[] chars = new char[alignmentPos - objectType.length()];
        java.util.Arrays.fill(chars, ' ');
        String gap = new String(chars);

        System.out.println(objectType + ":" + gap + numberOfEntrances);
    }
} finally {
    wmfImage.dispose();
}

//Çıktı şöyle görünebilir:
//Toplam kayıt sayısı: 613
//Kayıt Türü                              Sayı
//----------------------------------------------
//WmfSetBkMode:                            1
//WmfSetTextAlign:                         1
//WmfSetRop2:                              1
//WmfSetWindowOrg:                         1
//WmfSetWindowExt:                         1
//WmfCreateBrushInDirect:                  119
//WmfSelectObject:                         240
//WmfCreatePenInDirect:                    119
//WmfSetPolyFillMode:                      1
//WmfPolyPolygon:                          114
//WmfPolyLine:                             7
//WmfSetTextColor:                         2
//WmfCreateFontInDirect:                   2
//WmfExtTextOut:                           2
//WmfDibStrechBlt:                         1
//WmfEof:                                  1

setPalette(IColorPalette palette, boolean updateColors)

public void setPalette(IColorPalette palette, boolean updateColors)

Belirtilen bir paleti görüntüye uygulayın, renk temsilini özelleştirmenizi sağlar. Bu yöntemi görsel renderlamayı iyileştirmek ve uygulamanız içinde belirli renk efektleri elde etmek için kullanın.

Parameters:

ParametreTürAçıklama
paletteIColorPaletteAyarlanacak palet.
updateColorsbooleantrue olarak ayarlanırsa renkler yeni palete göre güncellenecek; aksi takdirde renk indeksleri değişmeden kalır. Değişmeyen indekslerin, bazı indekslerin karşılık gelen palet girdileri olmaması durumunda görüntünün yüklenirken çökmesine neden olabileceğini unutmayın.

getUsedFonts()

public String[] getUsedFonts()

Metafile içinde kullanılan yazı tiplerinin listesini alın, görüntüde kullanılan yazı tipi kaynakları hakkında bilgi sağlar. Bu yöntemi yazı tipi kullanımını analiz etmek ve renderlama veya uygulamanız içinde daha ileri işlem için yazı tipi kullanılabilirliğini sağlamak amacıyla kullanın.

Returns: java.lang.String[] - Yazı tipi listesi

resizeCanvas(Rectangle newRectangle)

public void resizeCanvas(Rectangle newRectangle)

Görüntünün tuvalini yeniden boyutlandırın, içerik korunurken boyutlarını ayarlayın. Bu yöntemi tuvalin boyutunu içeriği değiştirmeden değiştirmek, uygulamanız içinde düzen ayarlamaları ve kompozisyon değişikliklerini kolaylaştırmak için kullanın.

Parameters:

ParametreTürAçıklama
newRectangleRectangleYeni dikdörtgen.

addRecord(WmfObject record)

public int addRecord(WmfObject record)

Belirtilen kayıt nesnesini görüntüye dahil edin, içeriğini ek veri veya meta veri ile zenginleştirin. Bu yöntemi kayıt nesnelerini görüntüye sorunsuz bir şekilde entegre etmek, uygulamanız içinde kapsamlı veri depolama ve organizasyonu kolaylaştırmak için kullanın.

Parameters:

ParametreTürAçıklama
recordWmfObjectKayıt.

Returns: int - Kayıt sayısı.

getPostScript()

public final String getPostScript()

Görüntüyle ilişkili PostScript verisine erişin, yapısı veya içeriği hakkında ayrıntılı bilgi sağlar. Bu yöntemi PostScript verisini daha ileri analiz veya işlem için uygulamanız içinde almak, PostScript renderlama veya manipülasyonuyla ilgili gelişmiş işlevselliği etkinleştirmek amacıyla kullanın.

Returns: java.lang.String - Post script

getOriginalOptions()

public ImageOptionsBase getOriginalOptions()

Orijinal görüntü seçeneklerini alır.

Returns: ImageOptionsBase - The original image options.