Metafile::SetDownLevelRasterizationLimit method (gdiplusheaders.h)

Mengatur resolusi untuk bitmap kuas tertentu yang disimpan dalam metafile ini.

Sintaks

Status SetDownLevelRasterizationLimit(
  [in] UINT metafileRasterizationLimitDpi
);

Parameter

[in] metafileRasterizationLimitDpi

Jenis: UINT

Bilangan bulat non-negatif yang menentukan resolusi dalam dpi. Jika Anda mengatur parameter ini sama dengan 0, resolusi diatur agar sesuai dengan resolusi handel konteks perangkat yang diteruskan ke konstruktor Metafile . Jika Anda mengatur parameter ini ke nilai yang lebih besar dari 0 tetapi kurang dari 10, resolusi dibiarkan tidak berubah.

Menampilkan nilai

Jenis: Status

Jika metode berhasil, metode mengembalikan OK, yang merupakan elemen dari enumerasi Status .

Jika metode gagal, metode mengembalikan salah satu elemen lain dari enumerasi Status .

Keterangan

Tujuan dari metode ini adalah untuk mencegah metafiles menjadi terlalu besar sebagai akibat dari tekstur dan sikat gradien disimpan pada resolusi tinggi. Misalkan Anda membuat objek Metafile (untuk merekam metafile EmfTypeEmfOnly ) berdasarkan konteks perangkat printer yang memiliki resolusi 600 dpi. Misalkan juga Anda membuat kuas gradien jalur atau kuas tekstur berdasarkan objek Bitmap yang memiliki resolusi 96 dpi. Jika bitmap yang mewakili bahwa kuas disimpan dalam metafile dengan resolusi 96 dpi, itu akan membutuhkan lebih sedikit ruang daripada jika disimpan dengan resolusi 600 dpi.

Batas rasterisasi default untuk metafiles adalah 96 dpi. Jadi jika Anda tidak menyebut metode ini sama sekali, kuas gradien jalur dan bitmap kuas tekstur disimpan dengan resolusi 96 dpi.

Batas rasterisasi memiliki efek pada metafiles jenis EmfTypeEmfOnly dan EmfTypeEmfPlusDual, tetapi tidak berpengaruh pada metafiles jenis EmfTypeEmfPlusOnly.

Contoh

Contoh berikut membuat objek Metafile berdasarkan konteks perangkat printer. Kode ini membuat kuas tekstur berdasarkan file BMP dan kemudian merekam elips yang diisi dengan kuas itu. Asumsikan bahwa printer memiliki resolusi 600 dpi dan objek Bitmap memiliki resolusi 96 dpi.


// Get a device context for a printer.
HDC hdcPrint = CreateDC(NULL, TEXT("\\\\printserver\\printer1"), NULL, NULL); 

// Construct a Metafile object (for recording) based on a 600-DPI printer.
Metafile metafile(L"Metafile.emf", hdcPrint, EmfTypeEmfOnly);
{     
   // Create a texture brush based on a 96-DPI bitmap. 
   Bitmap bitmap(L"Texture.bmp");
   TextureBrush textureBrush(&bitmap);

   // Set the rasterization limit of the metafile to match the DPI of the
   // printer DC, in this case 600. When the bitmap for the texture brush
   // is stored in the metafile, the bitmap will be expanded by a factor of
   // about 6 horizontally and vertically. That will increase the size of 
   // the bitmap by a factor of about 36.
   metafile.SetDownLevelRasterizationLimit(0);

   // Record an ellipse filled with the texture brush.
   Graphics graphics(&metafile);  
   graphics.FillEllipse(&textureBrush, 10, 10, 40, 40);
}

// The preceding code, along with a particular 24 x 23 bitmap,
// produced a 114 kilobyte metafile. Passing 96, instead of 0, to the 
// SetDownLevelRasterizationLimit method produced a 3.5 kilobyte metafile.

Persyaratan

   
Klien minimum yang didukung Windows XP, Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header gdiplusheaders.h (termasuk Gdiplus.h)
Pustaka Gdiplus.lib
DLL Gdiplus.dll

Lihat juga

EmfType

Metafile

Metafile::GetDownLevelRasterizationLimit

Merekam Metafiles