Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
CImage memberikan dukungan bitmap yang ditingkatkan, termasuk kemampuan untuk memuat dan menyimpan gambar dalam format JPEG, GIF, BMP, dan Portable Network Graphics (PNG).
Important
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Syntax
class CImage
Members
Public Constructors
| Name | Description |
|---|---|
CImage::CImage |
The constructor. |
Public Methods
| Name | Description |
|---|---|
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. |
Public Operators
| Name | Description |
|---|---|
CImage::operator HBITMAP |
Mengembalikan handel Windows yang dilampirkan ke CImage objek. |
Remarks
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.
Note
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.
Note
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.
Examples
// 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 CImageHBITMAP, 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.
Note
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).
Requirements
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);
Parameters
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.
Return Value
Bukan nol jika berhasil; jika tidak, 0.
Remarks
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();
Parameters
hBitmap
Handel ke HBITMAP.
eOrientation
Menentukan orientasi bitmap. Bisa jadi salah satu dari yang berikut:
DIBOR_DEFAULTOrientasi bitmap ditentukan oleh sistem operasi.DIBOR_BOTTOMUPBaris bitmap berada dalam urutan terbalik. Hal ini menyebabkanCImage::GetBitspengembalian pointer di dekat akhir buffer bitmap danCImage::GetPitchmengembalikan angka negatif.DIBOR_TOPDOWNBaris bitmap berada dalam urutan atas ke bawah. Ini menyebabkanCImage::GetBitsmengembalikan penunjuk ke byte pertama dari buffer bitmap danCImage::GetPitchmengembalikan angka positif.
Remarks
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();
Parameters
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.
Return Value
Bukan nol jika berhasil; jika tidak, nol.
Remarks
Untuk informasi selengkapnya, lihat BitBlt di Windows SDK.
CImage::CImage
Membuat CImage objek.
CImage() throw();
Remarks
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();
Parameters
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:
-
createAlphaChannelHanya dapat digunakan jikanBPPadalah 32, daneCompressionadalahBI_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 memanggilCImage::AlphaBlend.
Note
Dalam panggilan ke CImage::Draw, gambar dengan saluran alfa secara otomatis dicamur alfa ke tujuan.
Return Value
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();
Parameters
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_RGBFormat tidak dikompresi. Menentukan nilai ini saat memanggilCImage::CreateExsetara dengan panggilanCImage::Create.BI_BITFIELDSFormat tidak dikompresi dan tabel warna terdiri dari tigaDWORDmasker 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:
createAlphaChannelHanya dapat digunakan jikanBPPadalah 32, daneCompressionadalahBI_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 memanggilCImage::AlphaBlend.Note
Dalam panggilan ke
CImage::Draw, gambar dengan saluran alfa secara otomatis dicamur alfa ke tujuan.
Return Value
TRUE jika berhasil. Jika tidak FALSE, .
Example
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();
Return Value
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();
Parameters
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.
Return Value
Bukan nol jika berhasil; jika tidak, 0.
Remarks
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 TransparentBltAlphaBlend 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();
Return Value
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.
Remarks
Dengan menggunakan penunjuk ini, bersama dengan nilai yang dikembalikan oleh GetPitch, Anda dapat menemukan dan mengubah piksel individual dalam gambar.
Note
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();
Return Value
Jumlah bit per piksel.
Remarks
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();
Parameters
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();
Return Value
Handel ke konteks perangkat.
Remarks
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('|'));
Parameters
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.
Note
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.
For example:
//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 defaultexcludeDefaultSave=excludeIcon | excludeEMF | excludeWMFUntuk 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.
Return Value
HRESULTStandar .
Remarks
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. For example:
"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();
Return Value
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('|'));
Parameters
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.
Note
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.
For example:
//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 defaultexcludeDefaultSave=excludeIcon | excludeEMF | excludeWMFUntuk 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.
Remarks
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. For example:
"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();
Return Value
Jumlah entri dalam tabel warna.
Remarks
Metode ini hanya mendukung bitmap bagian DIB.
CImage::GetPitch
Mengambil pitch gambar.
int GetPitch() const throw();
Return Value
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.
Remarks
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.
Note
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();
Parameters
x
Koordinat x piksel.
y
Koordinat y piksel.
Return Value
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();
Parameters
x
Koordinat x piksel.
y
Koordinat y piksel.
Remarks
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.
Note
Metode ini hanya mendukung bitmap bagian DIB.
CImage::GetTransparentColor
Mengambil lokasi terindeks dari warna transparan di palet warna.
LONG GetTransparentColor() const throw();
Return Value
Indeks warna transparan.
CImage::GetWidth
Mengambil lebar, dalam piksel, gambar.
int GetWidth() const throw();
Return Value
Lebar bitmap, dalam piksel.
CImage::IsDIBSection
Menentukan apakah bitmap terlampir adalah bagian DIB.
bool IsDIBSection() const throw();
Return Value
TRUE jika bitmap terlampir adalah bagian DIB. Jika tidak FALSE, .
Remarks
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();
Return Value
TRUE jika diindeks; jika tidak FALSE.
Remarks
Metode ini hanya mengembalikan TRUE jika bitmap adalah 8-bit (256 warna) atau kurang.
Note
Metode ini hanya mendukung bitmap bagian DIB.
CImage::IsNull
Menentukan apakah bitmap saat ini dimuat.
bool IsNull() const throw();
Remarks
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();
Return Value
Nonzero jika platform saat ini mendukung transparansi. Otherwise 0.
Remarks
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();
Parameters
pszFileName
Penunjuk ke string yang berisi nama file gambar yang akan dimuat.
pStream
Penunjuk ke aliran yang berisi nama file gambar yang akan dimuat.
Return Value
HRESULTStandar .
Remarks
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();
Parameters
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.
Remarks
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();
Parameters
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.
Return Value
Bukan nol jika berhasil, jika tidak, 0.
Remarks
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();
Parameters
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.
Return Value
Bukan nol jika berhasil, jika tidak, 0.
Remarks
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();
Remarks
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();
Remarks
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();
Parameters
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:
ImageFormatBMPGambar bitmap yang tidak dikompresi.ImageFormatPNGGambar terkompresi Portable Network Graphic (PNG).ImageFormatJPEGGambar terkompresi JPEG.ImageFormatGIFGambar terkompresi GIF.
Note
Untuk daftar lengkap konstanta, lihat Konstanta Format File Gambar di Windows SDK.
Return Value
HRESULTStandar .
Remarks
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();
Parameters
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.
Remarks
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();
Parameters
x
Lokasi horizontal piksel yang akan diatur.
y
Lokasi vertikal piksel yang akan diatur.
color
Warna tempat Anda mengatur piksel.
Remarks
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();
Parameters
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();
Parameters
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.
Remarks
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();
Parameters
iTransparentColor
Indeks, dalam palet warna, warna yang akan diatur ke transparan. Jika -1, tidak ada warna yang diatur ke transparan.
Return Value
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();
Parameters
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.
Return Value
Bukan nol jika berhasil, jika tidak, 0.
Remarks
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();
Parameters
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.
Return Value
TRUE jika berhasil, jika tidak FALSE.
Remarks
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.
Example
// 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;
}
See also
MMXSwarm Contoh
SimpleImage Contoh
Device-Independent Bitmaps
CreateDIBSection
Komponen Desktop ATL COM
Device-Independent Bitmaps