Bagikan melalui


CImage Kelas

CImage memberikan dukungan bitmap yang ditingkatkan, termasuk kemampuan untuk memuat dan menyimpan gambar dalam format JPEG, GIF, BMP, dan Portable Network Graphics (PNG).

Penting

Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.

Sintaks

class CImage

Anggota

Konstruktor Publik

Nama Deskripsi
CImage::CImage Konstruktor.

Metode Publik

Nama Deskripsi
CImage::AlphaBlend Menampilkan bitmap yang memiliki piksel transparan atau semitransparan.
CImage::Attach Melampirkan HBITMAP ke CImage objek. Dapat digunakan dengan bitmap bagian non-DIB atau bitmap bagian DIB.
CImage::BitBlt Menyalin bitmap dari konteks perangkat sumber ke konteks perangkat saat ini.
CImage::Create Membuat bitmap bagian DIB dan melampirkannya ke objek yang dibuat sebelumnya CImage .
CImage::CreateEx Membuat bitmap bagian DIB (dengan parameter tambahan) dan melampirkannya ke objek yang dibuat sebelumnya CImage .
CImage::Destroy Melepaskan bitmap dari CImage objek dan menghancurkan bitmap.
CImage::Detach Mencopot bitmap dari CImage objek.
CImage::Draw Menyalin bitmap dari persegi panjang sumber ke dalam persegi panjang tujuan. Draw membentangkan atau mengompresi bitmap agar pas dengan dimensi persegi panjang tujuan, jika perlu, dan menangani perpaduan alfa dan warna transparan.
CImage::GetBits Mengambil penunjuk ke nilai piksel aktual dari bitmap.
CImage::GetBPP Mengambil bit per piksel.
CImage::GetColorTable Mengambil nilai warna merah, hijau, biru (RGB) dari berbagai entri dalam tabel warna.
CImage::GetDC Mengambil konteks perangkat tempat bitmap saat ini dipilih.
CImage::GetExporterFilterString Menemukan format gambar yang tersedia dan deskripsinya.
CImage::GetHeight Mengambil tinggi gambar saat ini dalam piksel.
CImage::GetImporterFilterString Menemukan format gambar yang tersedia dan deskripsinya.
CImage::GetMaxColorTableEntries Mengambil jumlah maksimum entri dalam tabel warna.
CImage::GetPitch Mengambil pitch gambar saat ini, dalam byte.
CImage::GetPixel Mengambil warna piksel yang ditentukan oleh x dan y.
CImage::GetPixelAddress Mengambil alamat piksel tertentu.
CImage::GetTransparentColor Mengambil posisi warna transparan dalam tabel warna.
CImage::GetWidth Mengambil lebar gambar saat ini dalam piksel.
CImage::IsDIBSection Menentukan apakah bitmap terlampir adalah bagian DIB.
CImage::IsIndexed Menunjukkan bahwa warna bitmap dipetakan ke palet terindeks.
CImage::IsNull Menunjukkan apakah bitmap sumber saat ini dimuat.
CImage::IsTransparencySupported Menunjukkan apakah aplikasi mendukung bitmap transparan.
CImage::Load Memuat gambar dari file yang ditentukan.
CImage::LoadFromResource Memuat gambar dari sumber daya yang ditentukan.
CImage::MaskBlt Menggabungkan data warna untuk bitmap sumber dan tujuan menggunakan operasi mask dan raster yang ditentukan.
CImage::PlgBlt Melakukan transfer bit-block dari persegi panjang dalam konteks perangkat sumber ke dalam parallelogram dalam konteks perangkat tujuan.
CImage::ReleaseDC Merilis konteks perangkat yang diambil dengan CImage::GetDC.
CImage::ReleaseGDIPlus Merilis sumber daya yang digunakan oleh GDI+. Harus dipanggil untuk membebaskan sumber daya yang dibuat oleh objek global CImage .
CImage::Save Menyimpan gambar sebagai jenis yang ditentukan. Save tidak dapat menentukan opsi gambar.
CImage::SetColorTable Mengatur nilai warna RGB merah, hijau, biru) dalam rentang entri dalam tabel warna bagian DIB.
CImage::SetPixel Mengatur piksel pada koordinat yang ditentukan ke warna yang ditentukan.
CImage::SetPixelIndexed Mengatur piksel pada koordinat yang ditentukan ke warna pada indeks palet yang ditentukan.
CImage::SetPixelRGB Mengatur piksel pada koordinat yang ditentukan ke nilai merah, hijau, biru (RGB) yang ditentukan.
CImage::SetTransparentColor Mengatur indeks warna yang akan diperlakukan sebagai transparan. Hanya satu warna dalam palet yang bisa transparan.
CImage::StretchBlt Menyalin bitmap dari persegi panjang sumber ke dalam persegi panjang tujuan, meregangkan atau mengompresi bitmap agar sesuai dengan dimensi persegi panjang tujuan, jika perlu.
CImage::TransparentBlt Menyalin bitmap dengan warna transparan dari konteks perangkat sumber ke konteks perangkat saat ini.

Operator Publik

Nama Deskripsi
CImage::operator HBITMAP Mengembalikan handel Windows yang dilampirkan ke CImage objek.

Keterangan

CImage mengambil bitmap yang merupakan bagian bitmap independen perangkat (DIB) atau tidak; namun, Anda dapat menggunakan Create atau CImage::Load hanya dengan bagian DIB. Anda dapat melampirkan bitmap bagian non-DIB ke CImage objek menggunakan Attach, tetapi kemudian Anda tidak dapat menggunakan metode berikut CImage , yang hanya mendukung bitmap bagian DIB:

Untuk menentukan apakah bitmap terlampir adalah bagian DIB, panggil IsDibSection.

Catatan

Di Visual Studio .NET 2003, kelas ini menyimpan hitungan jumlah CImage objek yang dibuat. Setiap kali hitungan masuk ke 0, fungsi GdiplusShutdown secara otomatis dipanggil untuk merilis sumber daya yang digunakan oleh GDI+. Ini memastikan bahwa setiap CImage objek yang dibuat secara langsung atau tidak langsung oleh DLL selalu dihancurkan dengan benar dan yang GdiplusShutdown tidak dipanggil dari DllMain.

Catatan

Menggunakan objek global CImage dalam DLL tidak disarankan. Jika Anda perlu menggunakan objek global CImage dalam DLL, panggil CImage::ReleaseGDIPlus untuk secara eksplisit merilis sumber daya yang digunakan oleh GDI+.

CImage tidak dapat dipilih ke dalam baru CDC. CImage membuat sendiri HDC untuk gambar. HBITMAP Karena hanya dapat dipilih menjadi satu per satuHDC, yang HBITMAP terkait dengan CImage tidak dapat dipilih ke yang lain HDC. Jika Anda membutuhkan CDC, ambil HDC dari CImage dan berikan kepada CDC::FromHandle.

Contoh

// Get a CDC for the image
CDC* pDC = CDC::FromHandle(m_myImage.GetDC());

// Use pDC here
pDC->Rectangle(0, 40, 100, 50);
m_myImage.ReleaseDC();

Saat Anda menggunakan CImage dalam proyek MFC, perhatikan fungsi anggota mana dalam proyek Anda yang mengharapkan penunjuk ke CBitmap objek. Jika Anda ingin menggunakan CImage dengan fungsi seperti itu, seperti CMenu::AppendMenu, gunakan CBitmap::FromHandle, teruskan CImage HBITMAP, dan gunakan yang dikembalikan CBitmap*.

void CMyDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
    UNREFERENCED_PARAMETER(nFlags);

    CBitmap* pBitmap = CBitmap::FromHandle(m_myImage);
    m_pmenuPop->AppendMenu(0, ID_BMPCOMMAND, pBitmap);
    ClientToScreen(&point);
    m_pmenuPop->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x,
    point.y, this);
}

Melalui CImage, Anda memiliki akses ke bit aktual dari bagian DIB. Anda dapat menggunakan CImage objek di mana saja Anda sebelumnya menggunakan bagian Win32 HBITMAP atau DIB.

Anda dapat menggunakan CImage dari MFC atau ATL.

Catatan

Saat Anda membuat proyek menggunakan CImage, Anda harus menentukan CString sebelum menyertakan atlimage.h. Jika proyek Anda menggunakan ATL tanpa MFC, sertakan atlstr.h sebelum Anda menyertakan atlimage.h. Jika proyek Anda menggunakan MFC (atau jika itu adalah proyek ATL dengan dukungan MFC), sertakan afxstr.h sebelum Anda menyertakan atlimage.h.

Demikian juga, Anda harus menyertakan atlimage.h sebelum menyertakan atlimpl.cpp. Untuk mencapai hal ini dengan mudah, sertakan atlimage.h dalam Anda pch.h (stdafx.h di Visual Studio 2017 dan yang lebih lama).

Persyaratan

Header: atlimage.h

CImage::AlphaBlend

Menampilkan bitmap yang memiliki piksel transparan atau semitransparan.

BOOL AlphaBlend(
    HDC hDestDC,
    int xDest,
    int yDest,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER) const throw();

BOOL AlphaBlend(
    HDC hDestDC,
    const POINT& pointDest,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER) const throw();

BOOL AlphaBlend(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER);

BOOL AlphaBlend(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER);

Parameter

hDestDC
Menangani konteks perangkat tujuan.

xDest
Koordinat x, di unit logis, dari sudut kiri atas persegi panjang tujuan.

yDest
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang tujuan.

bSrcAlpha
Nilai transparansi alfa yang akan digunakan pada seluruh bitmap sumber. 0xff default (255) mengasumsikan bahwa gambar Anda buram, dan Anda hanya ingin menggunakan nilai alfa per piksel.

bBlendOp
Fungsi alpha-blending untuk bitmap sumber dan tujuan, nilai alfa global yang akan diterapkan ke seluruh bitmap sumber, dan memformat informasi untuk bitmap sumber. Fungsi campuran sumber dan tujuan saat ini terbatas pada AC_SRC_OVER.

pointDest
Referensi ke POINT struktur yang mengidentifikasi sudut kiri atas persegi panjang tujuan, dalam unit logis.

nDestWidth
Lebar, dalam unit logis, persegi panjang tujuan.

nDestHeight
Tinggi, dalam unit logis, dari persegi panjang tujuan.

xSrc
Koordinat x logis dari sudut kiri atas persegi panjang sumber.

ySrc
Koordinat y logis dari sudut kiri atas persegi panjang sumber.

nSrcWidth
Lebar, dalam unit logis, dari persegi panjang sumber.

nSrcHeight
Tinggi, dalam unit logis, dari persegi panjang sumber.

rectDest
Referensi ke RECT struktur, mengidentifikasi tujuan.

rectSrc
Referensi ke RECT struktur, mengidentifikasi sumber.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Bitmap alpha-blend mendukung perpaduan warna per piksel.

Ketika bBlendOp diatur ke default AC_SRC_OVER, bitmap sumber ditempatkan di atas bitmap tujuan berdasarkan nilai alfa piksel sumber.

CImage::Attach

Melampirkan hBitmap ke CImage objek.

void Attach(HBITMAP hBitmap, DIBOrientation eOrientation = DIBOR_DEFAULT) throw();

Parameter

hBitmap
Handel ke HBITMAP.

eOrientation
Menentukan orientasi bitmap. Bisa jadi salah satu dari yang berikut:

  • DIBOR_DEFAULT Orientasi bitmap ditentukan oleh sistem operasi.

  • DIBOR_BOTTOMUP Baris bitmap berada dalam urutan terbalik. Hal ini menyebabkan CImage::GetBits pengembalian pointer di dekat akhir buffer bitmap dan CImage::GetPitch mengembalikan angka negatif.

  • DIBOR_TOPDOWN Baris bitmap berada dalam urutan atas ke bawah. Ini menyebabkan CImage::GetBits mengembalikan penunjuk ke byte pertama dari buffer bitmap dan CImage::GetPitch mengembalikan angka positif.

Keterangan

Bitmap dapat berupa bitmap bagian non-DIB atau bitmap bagian DIB. Lihat IsDIBSection untuk daftar metode yang hanya dapat Anda gunakan dengan bitmap bagian DIB.

CImage::BitBlt

Menyalin bitmap dari konteks perangkat sumber ke konteks perangkat saat ini.

BOOL BitBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    const POINT& pointDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const POINT& pointSrc,
    DWORD dwROP = SRCCOPY) const throw();

Parameter

hDestDC
Tujuan HDC.

xDest
Koordinat x logis dari sudut kiri atas persegi panjang tujuan.

yDest
Koordinat y logis dari sudut kiri atas persegi panjang tujuan.

dwROP
Operasi raster yang akan dilakukan. Kode operasi raster menentukan dengan tepat cara menggabungkan bit sumber, tujuan, dan pola (seperti yang didefinisikan oleh kuas yang saat ini dipilih) untuk membentuk tujuan. Lihat BitBlt di Windows SDK untuk daftar kode operasi raster lainnya dan deskripsinya.

pointDest
Struktur POINT yang menunjukkan sudut kiri atas persegi panjang tujuan.

nDestWidth
Lebar, dalam unit logis, persegi panjang tujuan.

nDestHeight
Tinggi, dalam unit logis, dari persegi panjang tujuan.

xSrc
Koordinat x logis dari sudut kiri atas persegi panjang sumber.

ySrc
Koordinat y logis dari sudut kiri atas persegi panjang sumber.

rectDest
Struktur RECT yang menunjukkan persegi panjang tujuan.

pointSrc
Struktur POINT yang menunjukkan sudut kiri atas persegi panjang sumber.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, nol.

Keterangan

Untuk informasi selengkapnya, lihat BitBlt di Windows SDK.

CImage::CImage

Membuat CImage objek.

CImage() throw();

Keterangan

Setelah Anda membuat objek, panggil Create, , LoadLoadFromResource, atau Attach untuk melampirkan bitmap ke objek .

Catatan Di Visual Studio, kelas ini menyimpan hitungan jumlah CImage objek yang dibuat. Setiap kali hitungan masuk ke 0, fungsi GdiplusShutdown secara otomatis dipanggil untuk merilis sumber daya yang digunakan oleh GDI+. Ini memastikan bahwa setiap CImage objek yang dibuat secara langsung atau tidak langsung oleh DLL selalu dihancurkan dengan benar dan yang GdiplusShutdown tidak dipanggil dari DllMain.

Menggunakan objek global CImage dalam DLL tidak disarankan. Jika Anda perlu menggunakan objek global CImage dalam DLL, panggil CImage::ReleaseGDIPlus untuk secara eksplisit merilis sumber daya yang digunakan oleh GDI+.

CImage::Create

Membuat bitmap CImage dan melampirkannya ke objek yang dibuat sebelumnya CImage .

BOOL Create(
    int nWidth,
    int nHeight,
    int nBPP,
    DWORD dwFlags = 0) throw();

Parameter

nWidth
Lebar CImage bitmap, dalam piksel.

nHeight
Tinggi CImage bitmap, dalam piksel. Jika nHeight positif, bitmap adalah DIB bawah ke atas dan asalnya adalah sudut kiri bawah. Jika nHeight negatif, bitmap adalah DIB atas ke bawah dan asalnya adalah sudut kiri atas.

nBPP
Jumlah bit per piksel dalam bitmap. Biasanya 4, 8, 16, 24, atau 32. Bisa 1 untuk bitmap monokrom atau masker.

dwFlags
Menentukan apakah objek bitmap memiliki saluran alfa. Bisa berupa kombinasi nol atau lebih dari nilai berikut:

  • createAlphaChannel Hanya dapat digunakan jika nBPP adalah 32, dan eCompression adalah BI_RGB. Jika ditentukan, gambar yang dibuat memiliki nilai alfa (transparansi) untuk setiap piksel, disimpan dalam byte ke-4 dari setiap piksel (tidak digunakan dalam gambar non-alfa 32-bit). Saluran alfa ini secara otomatis digunakan saat memanggil CImage::AlphaBlend.

Catatan

Dalam panggilan ke CImage::Draw, gambar dengan saluran alfa secara otomatis dicamur alfa ke tujuan.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

CImage::CreateEx

Membuat bitmap CImage dan melampirkannya ke objek yang dibuat sebelumnya CImage .

BOOL CreateEx(
    int nWidth,
    int nHeight,
    int nBPP,
    DWORD eCompression,
    const DWORD* pdwBitmasks = NULL,
    DWORD dwFlags = 0) throw();

Parameter

nWidth
Lebar CImage bitmap, dalam piksel.

nHeight
Tinggi CImage bitmap, dalam piksel. Jika nHeight positif, bitmap adalah DIB bawah ke atas dan asalnya adalah sudut kiri bawah. Jika nHeight negatif, bitmap adalah DIB atas ke bawah dan asalnya adalah sudut kiri atas.

nBPP
Jumlah bit per piksel dalam bitmap. Biasanya 4, 8, 16, 24, atau 32. Bisa 1 untuk bitmap monokrom atau masker.

eCompression
Menentukan jenis pemadatan untuk bitmap bawah-atas terkompresi (DIB atas ke bawah tidak dapat dikompresi). Dapat berupa salah satu dari nilai berikut:

  • BI_RGB Format tidak dikompresi. Menentukan nilai ini saat memanggil CImage::CreateEx setara dengan panggilan CImage::Create.

  • BI_BITFIELDS Format tidak dikompresi dan tabel warna terdiri dari tiga DWORD masker warna yang menentukan komponen merah, hijau, dan biru, masing-masing, dari setiap piksel. Ini berlaku ketika digunakan dengan bitmap 16 dan 32 bpp.

pdwBitfields
Hanya digunakan jika eCompression diatur ke BI_BITFIELDS, jika tidak, harus NULL. Penunjuk ke array tiga DWORD bitmask, yang menentukan bit mana dari setiap piksel yang digunakan untuk komponen warna merah, hijau, dan biru. Untuk informasi tentang pembatasan untuk bitfield, lihat BITMAPINFOHEADER di Windows SDK.

dwFlags
Menentukan apakah objek bitmap memiliki saluran alfa. Bisa berupa kombinasi nol atau lebih dari nilai berikut:

  • createAlphaChannel Hanya dapat digunakan jika nBPP adalah 32, dan eCompression adalah BI_RGB. Jika ditentukan, gambar yang dibuat memiliki nilai alfa (transparansi) untuk setiap piksel, disimpan dalam byte ke-4 dari setiap piksel (tidak digunakan dalam gambar non-alfa 32-bit). Saluran alfa ini secara otomatis digunakan saat memanggil CImage::AlphaBlend.

    Catatan

    Dalam panggilan ke CImage::Draw, gambar dengan saluran alfa secara otomatis dicamur alfa ke tujuan.

Tampilkan Nilai

TRUE jika berhasil. Jika tidak FALSE, .

Contoh

Contoh berikut membuat bitmap 100x100 piksel, menggunakan 16 bit untuk mengodekan setiap piksel. Dalam piksel 16-bit tertentu, bit 0-3 mengodekan komponen merah, bit 4-7 mengodekan hijau, dan bit 8-11 mengodekan biru. 4 bit yang tersisa tidak digunakan.

DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);

CImage::Destroy

Melepaskan bitmap dari CImage objek dan menghancurkan bitmap.

void Destroy() throw();

CImage::Detach

Melepaskan bitmap dari CImage objek.

HBITMAP Detach() throw();

Tampilkan Nilai

Handel ke bitmap dilepas, atau NULL jika tidak ada bitmap yang terpasang.

CImage::Draw

Menyalin bitmap dari konteks perangkat sumber ke konteks perangkat saat ini.

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight) const throw();

BOOL Draw(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc) const throw();

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest) const throw();

BOOL Draw(
    HDC hDestDC,
    const POINT& pointDest) const throw();

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight) const throw();

BOOL Draw(
    HDC hDestDC,
    const RECT& rectDest) const throw();

Parameter

hDestDC
Handel ke konteks perangkat tujuan.

xDest
Koordinat x, di unit logis, dari sudut kiri atas persegi panjang tujuan.

yDest
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang tujuan.

nDestWidth
Lebar, dalam unit logis, persegi panjang tujuan.

nDestHeight
Tinggi, dalam unit logis, dari persegi panjang tujuan.

xSrc
Koordinat x, dalam unit logis, dari sudut kiri atas persegi panjang sumber.

ySrc
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang sumber.

nSrcWidth
Lebar, dalam unit logis, dari persegi panjang sumber.

nSrcHeight
Tinggi, dalam unit logis, dari persegi panjang sumber.

rectDest
Referensi ke RECT struktur, mengidentifikasi tujuan.

rectSrc
Referensi ke RECT struktur, mengidentifikasi sumber.

pointDest
Referensi ke POINT struktur yang mengidentifikasi sudut kiri atas persegi panjang tujuan, dalam unit logis.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Draw melakukan operasi yang sama dengan StretchBlt, kecuali gambar berisi warna transparan atau saluran alfa. Dalam hal ini, Draw melakukan operasi yang sama seperti atau TransparentBlt AlphaBlend sebagaimana diperlukan.

Untuk versi Draw yang tidak menentukan persegi sumber, seluruh gambar sumber adalah default. Untuk versi Draw yang tidak menentukan ukuran untuk persegi panjang tujuan, ukuran gambar sumber adalah default dan tidak ada peregangan atau penyusutan yang terjadi.

CImage::GetBits

Mengambil penunjuk ke nilai bit aktual dari piksel tertentu dalam bitmap.

void* GetBits() throw();

Tampilkan Nilai

Penunjuk ke buffer bitmap. Jika bitmap adalah DIB bawah ke atas, pointer menunjuk di dekat akhir buffer. Jika bitmap adalah DIB atas ke bawah, penunjuk menunjuk ke byte pertama buffer.

Keterangan

Dengan menggunakan penunjuk ini, bersama dengan nilai yang dikembalikan oleh GetPitch, Anda dapat menemukan dan mengubah piksel individual dalam gambar.

Catatan

Metode ini hanya mendukung bitmap bagian DIB; akibatnya, Anda mengakses piksel CImage objek dengan cara yang sama seperti piksel bagian DIB. Pointer yang dikembalikan menunjuk ke piksel di lokasi (0, 0).

CImage::GetBPP

Mengambil nilai bit per piksel.

int GetBPP() const throw();

Tampilkan Nilai

Jumlah bit per piksel.

Keterangan

Nilai ini menentukan jumlah bit yang menentukan setiap piksel dan jumlah maksimum warna dalam bitmap.

Bit per piksel biasanya 1, 4, 8, 16, 24, atau 32. biBitCount Lihat anggota BITMAPINFOHEADER di Windows SDK untuk informasi selengkapnya tentang nilai ini.

CImage::GetColorTable

Mengambil nilai warna merah, hijau, biru (RGB) dari berbagai entri di palet bagian DIB.

void GetColorTable(
    UINT iFirstColor,
    UINT nColors,
    RGBQUAD* prgbColors) const throw();

Parameter

iFirstColor
Indeks tabel warna entri pertama yang diambil.

nColors
Jumlah entri tabel warna yang akan diambil.

prgbColors
Penunjuk ke array RGBQUAD struktur untuk mengambil entri tabel warna.

CImage::GetDC

Mengambil konteks perangkat yang saat ini memiliki gambar yang dipilih ke dalamnya.

HDC GetDC() const throw();

Tampilkan Nilai

Handel ke konteks perangkat.

Keterangan

Untuk setiap panggilan ke GetDC, Anda harus memiliki panggilan berikutnya ke ReleaseDC.

CImage::GetExporterFilterString

Menemukan format gambar yang tersedia untuk menyimpan gambar.

static HRESULT GetExporterFilterString(
    CSimpleString& strExporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultSave,
    TCHAR chSeparator = _T('|'));

Parameter

strExporters
Referensi ke CSimpleString objek. Lihat Keterangan untuk informasi selengkapnya.

aguidFileTypes
Array GUID, dengan setiap elemen yang sesuai dengan salah satu jenis file dalam string. Dalam contoh di pszAllFilesDescription bawah ini, aguidFileTypes[0] adalah GUID_NULL dan nilai array yang tersisa adalah format file gambar yang didukung oleh sistem operasi saat ini.

Catatan

Untuk daftar lengkap konstanta, lihat Konstanta Format File Gambar di Windows SDK.

pszAllFilesDescription
Jika parameter ini bukan NULL, string filter akan memiliki satu filter tambahan di awal daftar. Filter ini akan memiliki nilai pszAllFilesDescription saat ini untuk deskripsinya, dan menerima file ekstensi apa pun yang didukung oleh pengekspor lain dalam daftar.

Contohnya:

//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any exporter.
CImage::GetExporterFilterString(
    strExporters, aguidFileTypes,
_T("All Image Files"));

dwExclude
Set bendera bit yang menentukan jenis file mana yang akan dikecualikan dari daftar. Bendera yang diizinkan adalah:

  • excludeGIF = 0x01 Mengecualikan file GIF.

  • excludeBMP = 0x02 Mengecualikan file BMP (Windows Bitmap).

  • excludeEMF = 0x04 Mengecualikan file EMF (Enhanced Metafile).

  • excludeWMF = 0x08 Mengecualikan file WMF (Metafile Windows).

  • excludeJPEG = 0x10 Mengecualikan file JPEG.

  • excludePNG = 0x20 Mengecualikan file PNG.

  • excludeTIFF = 0x40 Mengecualikan file TIFF.

  • excludeIcon = 0x80 Mengecualikan file ICO (Ikon Windows).

  • excludeOther = 0x80000000 Mengecualikan jenis file lain yang tidak tercantum di atas.

  • excludeDefaultLoad = 0 Untuk beban, semua jenis file disertakan secara default

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF Untuk menyimpan, file-file ini dikecualikan secara default karena biasanya memiliki persyaratan khusus.

chSeparator
Pemisah yang digunakan di antara format gambar. Lihat Keterangan untuk informasi selengkapnya.

Tampilkan Nilai

HRESULTStandar .

Keterangan

Anda dapat meneruskan string format yang dihasilkan ke objek MFC CFileDialog Anda untuk mengekspos ekstensi file dari format gambar yang tersedia dalam kotak dialog Simpan Sebagai File.

Parameter strExporter memiliki format:

file description 0|*.ext0|file description 1|*.ext1|...file description N|*.extN||

di mana | adalah karakter pemisah yang ditentukan oleh chSeparator. Contohnya:

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

Gunakan pemisah | default jika Anda meneruskan string ini ke objek MFC CFileDialog . Gunakan pemisah '\0' null jika Anda meneruskan string ini ke kotak dialog Penyimpanan File umum.

CImage::GetHeight

Mengambil tinggi, dalam piksel, gambar.

int GetHeight() const throw();

Tampilkan Nilai

Tinggi, dalam piksel, gambar.

CImage::GetImporterFilterString

Menemukan format gambar yang tersedia untuk memuat gambar.

static HRESULT GetImporterFilterString(
    CSimpleString& strImporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultLoad,
    TCHAR chSeparator = _T('|'));

Parameter

strImporters
Referensi ke CSimpleString objek. Lihat Keterangan untuk informasi selengkapnya.

aguidFileTypes
Array GUID, dengan setiap elemen yang sesuai dengan salah satu jenis file dalam string. Dalam contoh di pszAllFilesDescription bawah ini, *aguidFileTypes[0]* adalah GUID_NULL dengan nilai array yang tersisa adalah format file gambar yang didukung oleh sistem operasi saat ini.

Catatan

Untuk daftar lengkap konstanta, lihat Konstanta Format File Gambar di Windows SDK.

pszAllFilesDescription
Jika parameter ini bukan NULL, string filter akan memiliki satu filter tambahan di awal daftar. Filter ini akan memiliki nilai pszAllFilesDescription saat ini untuk deskripsinya, dan menerima file ekstensi apa pun yang didukung oleh pengekspor lain dalam daftar.

Contohnya:

//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any importer.
CImage::GetImporterFilterString(
    strImporters, aguidFileTypes,
_T("All Image Files"));

dwExclude
Set bendera bit yang menentukan jenis file mana yang akan dikecualikan dari daftar. Bendera yang diizinkan adalah:

  • excludeGIF = 0x01 Mengecualikan file GIF.

  • excludeBMP = 0x02 Mengecualikan file BMP (Windows Bitmap).

  • excludeEMF = 0x04 Mengecualikan file EMF (Enhanced Metafile).

  • excludeWMF = 0x08 Mengecualikan file WMF (Metafile Windows).

  • excludeJPEG = 0x10 Mengecualikan file JPEG.

  • excludePNG = 0x20 Mengecualikan file PNG.

  • excludeTIFF = 0x40 Mengecualikan file TIFF.

  • excludeIcon = 0x80 Mengecualikan file ICO (Ikon Windows).

  • excludeOther = 0x80000000 Mengecualikan jenis file lain yang tidak tercantum di atas.

  • excludeDefaultLoad = 0 Untuk beban, semua jenis file disertakan secara default

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF Untuk menyimpan, file-file ini dikecualikan secara default karena biasanya memiliki persyaratan khusus.

chSeparator
Pemisah yang digunakan di antara format gambar. Lihat Keterangan untuk informasi selengkapnya.

Keterangan

Anda dapat meneruskan string format yang dihasilkan ke objek MFC CFileDialog Anda untuk mengekspos ekstensi file dari format gambar yang tersedia dalam kotak dialog Buka File.

Parameter strImporter memiliki format:

'deskripsi file 0|. ext0|deskripsi file 1|. ext1|... deskripsi file N|*.extN||

di mana | adalah karakter pemisah yang ditentukan oleh chSeparator. Contohnya:

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

Gunakan pemisah | default jika Anda meneruskan string ini ke objek MFC CFileDialog . Gunakan pemisah '\0' null jika Anda meneruskan string ini ke kotak dialog Buka File umum.

CImage::GetMaxColorTableEntries

Mengambil jumlah maksimum entri dalam tabel warna.

int GetMaxColorTableEntries() const throw();

Tampilkan Nilai

Jumlah entri dalam tabel warna.

Keterangan

Metode ini hanya mendukung bitmap bagian DIB.

CImage::GetPitch

Mengambil pitch gambar.

int GetPitch() const throw();

Tampilkan Nilai

Pitch gambar. Jika nilai yang dikembalikan negatif, bitmap adalah DIB bawah ke atas dan asalnya adalah sudut kiri bawah. Jika nilai yang dikembalikan positif, bitmap adalah DIB atas ke bawah dan asalnya adalah sudut kiri atas.

Keterangan

Pitch adalah jarak, dalam byte, antara dua alamat memori yang mewakili awal satu baris bitmap dan awal baris bitmap berikutnya. Karena nada diukur dalam byte, nada gambar membantu Anda menentukan format piksel. Pitch juga dapat mencakup memori tambahan, yang dicadangkan untuk bitmap.

Gunakan GetPitch dengan GetBits untuk menemukan piksel gambar individual.

Catatan

Metode ini hanya mendukung bitmap bagian DIB.

CImage::GetPixel

Mengambil warna piksel di lokasi yang ditentukan oleh x dan y.

COLORREF GetPixel(int x, int y) const throw();

Parameter

x
Koordinat x piksel.

y
Koordinat y piksel.

Tampilkan Nilai

Nilai piksel merah, hijau, biru (RGB). Jika piksel berada di luar wilayah kliping saat ini, nilai yang dikembalikan adalah CLR_INVALID.

CImage::GetPixelAddress

Mengambil alamat piksel yang tepat.

void* GetPixelAddress(int x, int y) throw();

Parameter

x
Koordinat x piksel.

y
Koordinat y piksel.

Keterangan

Alamat ditentukan sesuai dengan koordinat piksel, pitch bitmap, dan bit per piksel.

Untuk format yang memiliki kurang dari 8 bit per piksel, metode ini mengembalikan alamat byte yang berisi piksel. Misalnya, jika format gambar Anda memiliki 4 bit per piksel, GetPixelAddress mengembalikan alamat piksel pertama dalam byte, dan Anda harus menghitung untuk 2 piksel per byte.

Catatan

Metode ini hanya mendukung bitmap bagian DIB.

CImage::GetTransparentColor

Mengambil lokasi terindeks dari warna transparan di palet warna.

LONG GetTransparentColor() const throw();

Tampilkan Nilai

Indeks warna transparan.

CImage::GetWidth

Mengambil lebar, dalam piksel, gambar.

int GetWidth() const throw();

Tampilkan Nilai

Lebar bitmap, dalam piksel.

CImage::IsDIBSection

Menentukan apakah bitmap terlampir adalah bagian DIB.

bool IsDIBSection() const throw();

Tampilkan Nilai

TRUE jika bitmap terlampir adalah bagian DIB. Jika tidak FALSE, .

Keterangan

Jika bitmap bukan bagian DIB, Anda tidak dapat menggunakan metode berikut CImage , yang hanya mendukung bitmap bagian DIB:

CImage::IsIndexed

Menentukan apakah piksel bitmap dipetakan ke palet warna.

bool IsIndexed() const throw();

Tampilkan Nilai

TRUE jika diindeks; jika tidak FALSE.

Keterangan

Metode ini hanya mengembalikan TRUE jika bitmap adalah 8-bit (256 warna) atau kurang.

Catatan

Metode ini hanya mendukung bitmap bagian DIB.

CImage::IsNull

Menentukan apakah bitmap saat ini dimuat.

bool IsNull() const throw();

Keterangan

Metode ini mengembalikan TRUE jika bitmap saat ini tidak dimuat; jika tidak FALSE.

CImage::IsTransparencySupported

Menunjukkan apakah aplikasi mendukung bitmap transparan.

static BOOL IsTransparencySupported() throw();

Tampilkan Nilai

Nonzero jika platform saat ini mendukung transparansi. Jika tidak, 0.

Keterangan

Jika nilai yang dikembalikan bukan nol, dan transparansi didukung, panggilan ke AlphaBlend, TransparentBlt, atau Draw akan menangani warna transparan.

CImage::Load

Memuat gambar.

HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();

Parameter

pszFileName
Penunjuk ke string yang berisi nama file gambar yang akan dimuat.

pStream
Penunjuk ke aliran yang berisi nama file gambar yang akan dimuat.

Tampilkan Nilai

HRESULTStandar .

Keterangan

Memuat gambar yang ditentukan oleh pszFileName atau pStream.

Jenis gambar yang valid adalah BMP, GIF, JPEG, PNG, dan TIFF.

CImage::LoadFromResource

Memuat gambar dari BITMAP sumber daya.

void LoadFromResource(
    HINSTANCE hInstance,
    LPCTSTR pszResourceName) throw();

void LoadFromResource(
    HINSTANCE hInstance,
    UINT nIDResource) throw();

Parameter

hInstance
Tangani ke instans modul yang berisi gambar yang akan dimuat.

pszResourceName
Penunjuk ke string yang berisi nama sumber daya yang berisi gambar yang akan dimuat.

nIDResource
ID sumber daya yang akan dimuat.

Keterangan

Sumber daya harus berjenis BITMAP.

CImage::MaskBlt

Menggabungkan data warna untuk bitmap sumber dan tujuan menggunakan operasi mask dan raster yang ditentukan.

BOOL MaskBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    HBITMAP hbmMask,
    int xMask,
    int yMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const POINT& pointSrc,
    HBITMAP hbmMask,
    const POINT& pointMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    HBITMAP hbmMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    const POINT& pointDest,
    HBITMAP hbmMask,
    DWORD dwROP = SRCCOPY) const throw();

Parameter

hDestDC
Handel ke modul yang dapat dieksekusi berisi sumber daya.

xDest
Koordinat x, di unit logis, dari sudut kiri atas persegi panjang tujuan.

yDest
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang tujuan.

nDestWidth
Lebar, dalam unit logis, persegi panjang tujuan dan bitmap sumber.

nDestHeight
Tinggi, dalam unit logis, persegi panjang tujuan dan bitmap sumber.

xSrc
Koordinat x logis dari sudut kiri atas bitmap sumber.

ySrc
Koordinat y logis dari sudut kiri atas bitmap sumber.

hbmMask
Tangani ke bitmap mask monokrom yang dikombinasikan dengan bitmap warna dalam konteks perangkat sumber.

xMask
Offset piksel horizontal untuk bitmap mask yang ditentukan oleh hbmMask parameter .

yMask
Offset piksel vertikal untuk bitmap mask yang ditentukan oleh hbmMask parameter .

dwROP
Menentukan kode operasi raster terner latar depan dan latar belakang yang digunakan metode untuk mengontrol kombinasi data sumber dan tujuan. Kode operasi raster latar belakang disimpan dalam byte urutan tinggi dari kata urutan tinggi dari nilai ini; kode operasi raster latar depan disimpan dalam byte urutan rendah dari kata urutan tinggi dari nilai ini; kata berurutan rendah dari nilai ini diabaikan, dan harus nol. Untuk diskusi latar depan dan latar belakang dalam konteks metode ini, lihat MaskBlt di Windows SDK. Untuk daftar kode operasi raster umum, lihat BitBlt di Windows SDK.

rectDest
Referensi ke RECT struktur, mengidentifikasi tujuan.

pointSrc
Struktur POINT yang menunjukkan sudut kiri atas persegi panjang sumber.

pointMask
Struktur POINT yang menunjukkan sudut kiri atas bitmap mask.

pointDest
Referensi ke POINT struktur yang mengidentifikasi sudut kiri atas persegi panjang tujuan, dalam unit logis.

Tampilkan Nilai

Bukan nol jika berhasil, jika tidak, 0.

Keterangan

Metode ini hanya berlaku untuk Windows NT, versi 4.0 dan yang lebih baru.

CImage::operator HBITMAP

Gunakan operator ini untuk mendapatkan handel Windows GDI objek yang CImage terpasang. Operator ini adalah operator transmisi, yang mendukung penggunaan HBITMAP langsung objek.

CImage::PlgBlt

Melakukan transfer bit-block dari persegi panjang dalam konteks perangkat sumber ke dalam parallelogram dalam konteks perangkat tujuan.

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    HBITMAP hbmMask = NULL) const throw();

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    HBITMAP hbmMask = NULL,
    int xMask = 0,
    int yMask = 0) const throw();

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    const RECT& rectSrc,
    HBITMAP hbmMask = NULL,
    const POINT& pointMask = CPoint(0, 0)) const throw();

Parameter

hDestDC
Handel ke konteks perangkat tujuan.

pPoints
Penunjuk ke array tiga titik dalam ruang logis yang mengidentifikasi tiga sudut paralelogram tujuan. Sudut kiri atas persegi panjang sumber dipetakan ke titik pertama dalam array ini, sudut kanan atas ke titik kedua dalam array ini, dan sudut kiri bawah ke titik ketiga. Sudut kanan bawah persegi panjang sumber dipetakan ke titik keempat implisit dalam parallelogram.

hbmMask
Handel ke bitmap monokrom opsional yang digunakan untuk menutupi warna persegi panjang sumber.

xSrc
Koordinat x, dalam unit logis, dari sudut kiri atas persegi panjang sumber.

ySrc
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang sumber.

nSrcWidth
Lebar, dalam unit logis, dari persegi panjang sumber.

nSrcHeight
Tinggi, dalam unit logis, dari persegi panjang sumber.

xMask
Koordinat x dari sudut kiri atas bitmap monokrom.

yMask
Koordinat y dari sudut kiri atas bitmap monokrom.

rectSrc
Referensi ke struktur yang RECT menentukan koordinat persegi panjang sumber.

pointMask
Struktur POINT yang menunjukkan sudut kiri atas bitmap mask.

Tampilkan Nilai

Bukan nol jika berhasil, jika tidak, 0.

Keterangan

Jika hbmMask mengidentifikasi bitmap monokrom yang valid, PlgBit gunakan bitmap ini untuk menutupi bit data warna dari persegi sumber.

Metode ini hanya berlaku untuk Windows NT, versi 4.0 dan yang lebih baru. Lihat PlgBlt di Windows SDK untuk informasi selengkapnya.

CImage::ReleaseDC

Merilis konteks perangkat.

void ReleaseDC() const throw();

Keterangan

Karena hanya satu bitmap yang dapat dipilih ke dalam konteks perangkat pada satu waktu, Anda harus memanggil ReleaseDC untuk setiap panggilan ke GetDC.

CImage::ReleaseGDIPlus

Merilis sumber daya yang digunakan oleh GDI+.

void ReleaseGDIPlus() throw();

Keterangan

Metode ini harus dipanggil untuk membebaskan sumber daya yang dialokasikan oleh objek global CImage . Lihat CImage::CImage.

CImage::Save

Menyimpan gambar ke aliran atau file yang ditentukan pada disk.

HRESULT Save(
    IStream* pStream,
    REFGUID guidFileType) const throw();

HRESULT Save(
    LPCTSTR pszFileName,
    REFGUID guidFileType = GUID_NULL) const throw();

Parameter

pStream
Penunjuk ke objek COM IStream yang berisi data gambar file.

pszFileName
Penunjuk ke nama file untuk gambar.

guidFileType
Jenis file untuk menyimpan gambar sebagai. Bisa jadi salah satu dari yang berikut:

  • ImageFormatBMP Gambar bitmap yang tidak dikompresi.

  • ImageFormatPNG Gambar terkompresi Portable Network Graphic (PNG).

  • ImageFormatJPEG Gambar terkompresi JPEG.

  • ImageFormatGIF Gambar terkompresi GIF.

Catatan

Untuk daftar lengkap konstanta, lihat Konstanta Format File Gambar di Windows SDK.

Tampilkan Nilai

HRESULTStandar .

Keterangan

Panggil fungsi ini untuk menyimpan gambar menggunakan nama dan jenis tertentu. guidFileType Jika parameter tidak disertakan, ekstensi file nama file akan digunakan untuk menentukan format gambar. Jika tidak ada ekstensi yang disediakan, gambar akan disimpan dalam format BMP.

CImage::SetColorTable

Mengatur nilai warna merah, hijau, biru (RGB) untuk rentang entri di palet bagian DIB.

void SetColorTable(
    UINT iFirstColor,
    UINT nColors,
    const RGBQUAD* prgbColors) throw();

Parameter

iFirstColor
Indeks tabel warna dari entri pertama yang diatur.

nColors
Jumlah entri tabel warna yang akan diatur.

prgbColors
Penunjuk ke array RGBQUAD struktur untuk mengatur entri tabel warna.

Keterangan

Metode ini hanya mendukung bitmap bagian DIB.

CImage::SetPixel

Mengatur warna piksel pada lokasi tertentu di bitmap.

void SetPixel(int x, int y, COLORREF color) throw();

Parameter

x
Lokasi horizontal piksel yang akan diatur.

y
Lokasi vertikal piksel yang akan diatur.

color
Warna tempat Anda mengatur piksel.

Keterangan

Metode ini gagal jika koordinat piksel terletak di luar wilayah kliping yang dipilih.

CImage::SetPixelIndexed

Mengatur warna piksel ke warna yang terletak di iIndex palet warna.

void SetPixelIndexed(int x, int y, int iIndex) throw();

Parameter

x
Lokasi horizontal piksel yang akan diatur.

y
Lokasi vertikal piksel yang akan diatur.

iIndex
Indeks warna di palet warna.

CImage::SetPixelRGB

Mengatur piksel di lokasi yang ditentukan oleh x dan y ke warna yang ditunjukkan oleh r, , gdan b, dalam gambar merah, hijau, biru (RGB).

void SetPixelRGB(
    int x,
    int y,
    BYTE r,
    BYTE g,
    BYTE b) throw();

Parameter

x
Lokasi horizontal piksel yang akan diatur.

y
Lokasi vertikal piksel yang akan diatur.

r
Intensitas warna merah.

g
Intensitas warna hijau.

b
Intensitas warna biru.

Keterangan

Parameter merah, hijau, dan biru masing-masing diwakili oleh angka antara 0 dan 255. Jika Anda mengatur ketiga parameter ke nol, warna gabungan yang dihasilkan adalah hitam. Jika Anda mengatur ketiga parameter ke 255, warna gabungan yang dihasilkan berwarna putih.

CImage::SetTransparentColor

Mengatur warna pada lokasi terindeks tertentu sebagai transparan.

LONG SetTransparentColor(LONG iTransparentColor) throw();

Parameter

iTransparentColor
Indeks, dalam palet warna, warna yang akan diatur ke transparan. Jika -1, tidak ada warna yang diatur ke transparan.

Tampilkan Nilai

Indeks warna yang sebelumnya diatur sebagai transparan.

CImage::StretchBlt

Menyalin bitmap dari konteks perangkat sumber ke konteks perangkat saat ini.

BOOL StretchBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    const RECT& rectDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    DWORD dwROP = SRCCOPY) const throw();

Parameter

hDestDC
Handel ke konteks perangkat tujuan.

xDest
Koordinat x, di unit logis, dari sudut kiri atas persegi panjang tujuan.

yDest
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang tujuan.

nDestWidth
Lebar, dalam unit logis, persegi panjang tujuan.

nDestHeight
Tinggi, dalam unit logis, dari persegi panjang tujuan.

dwROP
Operasi raster yang akan dilakukan. Kode operasi raster menentukan dengan tepat cara menggabungkan bit sumber, tujuan, dan pola (seperti yang didefinisikan oleh kuas yang saat ini dipilih) untuk membentuk tujuan. Lihat BitBlt di Windows SDK untuk daftar kode operasi raster lainnya dan deskripsinya.

rectDest
Referensi ke RECT struktur, mengidentifikasi tujuan.

xSrc
Koordinat x, dalam unit logis, dari sudut kiri atas persegi panjang sumber.

ySrc
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang sumber.

nSrcWidth
Lebar, dalam unit logis, dari persegi panjang sumber.

nSrcHeight
Tinggi, dalam unit logis, dari persegi panjang sumber.

rectSrc
Referensi ke RECT struktur, mengidentifikasi sumber.

Tampilkan Nilai

Bukan nol jika berhasil, jika tidak, 0.

Keterangan

Untuk informasi selengkapnya, lihat StretchBlt di Windows SDK.

CImage::TransparentBlt

Menyalin bitmap dari konteks perangkat sumber ke konteks perangkat saat ini.

BOOL TransparentBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    const RECT& rectDest,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    UINT crTransparent = CLR_INVALID) const throw();

Parameter

hDestDC
Handel ke konteks perangkat tujuan.

xDest
Koordinat x, di unit logis, dari sudut kiri atas persegi panjang tujuan.

yDest
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang tujuan.

nDestWidth
Lebar, dalam unit logis, persegi panjang tujuan.

nDestHeight
Tinggi, dalam unit logis, dari persegi panjang tujuan.

crTransparent
Warna dalam bitmap sumber untuk diperlakukan sebagai transparan. Secara default, CLR_INVALID, menunjukkan bahwa warna yang saat ini ditetapkan sebagai warna transparan dari gambar harus digunakan.

rectDest
Referensi ke RECT struktur, mengidentifikasi tujuan.

xSrc
Koordinat x, dalam unit logis, dari sudut kiri atas persegi panjang sumber.

ySrc
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang sumber.

nSrcWidth
Lebar, dalam unit logis, dari persegi panjang sumber.

nSrcHeight
Tinggi, dalam unit logis, dari persegi panjang sumber.

rectSrc
Referensi ke RECT struktur, mengidentifikasi sumber.

Tampilkan Nilai

TRUE jika berhasil, jika tidak FALSE.

Keterangan

TransparentBlt didukung untuk bitmap sumber 4 bit per piksel dan 8 bit per piksel. Gunakan CImage::AlphaBlend untuk menentukan bitmap 32 bit per piksel dengan transparansi.

Contoh

// Performs a transparent blit from the source image to the destination
// image using the images' current transparency settings
BOOL TransparentBlt(CImage* pSrcImage, CImage* pDstImage,
       int xDest, int yDest, int nDestWidth, int nDestHeight)
{
    HDC hDstDC = NULL;
    BOOL bResult;

    if(pSrcImage == NULL || pDstImage == NULL)
    {
        // Invalid parameter
        return FALSE;
    }

    // Obtain a DC to the destination image
    hDstDC = pDstImage->GetDC();
    // Perform the blit
    bResult = pSrcImage->TransparentBlt(hDstDC, xDest, yDest, nDestWidth, nDestHeight);

    // Release the destination DC
    pDstImage->ReleaseDC();

    return bResult;
}

Lihat juga

MMXSwarm Contoh
SimpleImage Contoh
Bitmap Independen Perangkat
CreateDIBSection
Komponen Desktop ATL COM
Bitmap Independen Perangkat