Acara
19 Nov, 23 - 21 Nov, 23
Dapatkan tepi kompetitif yang Anda butuhkan dengan solusi AI dan Cloud yang kuat dengan menghadiri Microsoft Ignite secara online.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Topik ini menunjukkan cara menskalakan IWICBitmapSource menggunakan komponen IWICBitmapScaler .
Untuk menskalakan sumber bitmap
Buat objek IWICImagingFactory untuk membuat objek Komponen Pencitraan Windows (WIC).
// Create WIC factory
hr = CoCreateInstance(
CLSID_WICImagingFactory,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&m_pIWICFactory)
);
Gunakan metode CreateDecoderFromFilename untuk membuat IWICBitmapDecoder dari file gambar.
HRESULT hr = S_OK;
IWICBitmapDecoder *pIDecoder = NULL;
IWICBitmapFrameDecode *pIDecoderFrame = NULL;
IWICBitmapScaler *pIScaler = NULL;
hr = m_pIWICFactory->CreateDecoderFromFilename(
L"turtle.jpg", // Image to be decoded
NULL, // Do not prefer a particular vendor
GENERIC_READ, // Desired read access to the file
WICDecodeMetadataCacheOnDemand, // Cache metadata when needed
&pIDecoder // Pointer to the decoder
);
Dapatkan IWICBitmapFrameDecode pertama dari gambar.
// Retrieve the first bitmap frame.
if (SUCCEEDED(hr))
{
hr = pIDecoder->GetFrame(0, &pIDecoderFrame);
}
Format file JPEG hanya mendukung satu bingkai. Karena file dalam contoh ini adalah file JPEG, bingkai pertama (0
) digunakan. Untuk format gambar yang memiliki beberapa bingkai, lihat Cara Mengambil Bingkai Gambar untuk mengakses setiap bingkai gambar.
Buat IWICBitmapScaler untuk digunakan untuk penskalaan gambar.
// Create the scaler.
if (SUCCEEDED(hr))
{
hr = m_pIWICFactory->CreateBitmapScaler(&pIScaler);
}
Inisialisasi objek scaler dengan data gambar bingkai bitmap pada setengah ukuran.
// Initialize the scaler to half the size of the original source.
if (SUCCEEDED(hr))
{
hr = pIScaler->Initialize(
pIDecoderFrame, // Bitmap source to scale.
uiWidth/2, // Scale width to half of original.
uiHeight/2, // Scale height to half of original.
WICBitmapInterpolationModeFant); // Use Fant mode interpolation.
}
Gambar atau proses sumber bitmap yang diskalakan.
Ilustrasi berikut menunjukkan penskalaan pencitraan. Gambar asli di sebelah kiri adalah 200 x 130 piksel. Gambar di sebelah kanan adalah gambar asli yang diskalakan hingga setengah ukurannya.
Acara
19 Nov, 23 - 21 Nov, 23
Dapatkan tepi kompetitif yang Anda butuhkan dengan solusi AI dan Cloud yang kuat dengan menghadiri Microsoft Ignite secara online.
Daftar sekarang