Cara menggunakan Windows BitBlt fungsi dalam Visual Basic aplikasi

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 147810 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Windows GDI.EXE memiliki fungsi yang disebut BitBlt yang akan bergerak sumber perangkat yang diberikan oleh hSrcDC parameter ke perangkat tujuan yang diberikan oleh hDestDC parameter. Artikel ini menjelaskan secara rinci argumen Windows BitBlt fungsi panggilan.

INFORMASI LEBIH LANJUT

Untuk menggunakan BitBlt dalam Visual Basic aplikasi:

Menggunakan pernyataan menetapkan berikut untuk menyatakan fungsi 16-bit Visual Basic. (Jika Deklarasi ditempatkan dalam Deklarasi umum bagian dari bentuk, kunci privat harus ditempatkan pada awal Deklarasi.)
   Declare Function BitBlt Lib "GDI" (ByVal hDestDC%, ByVal X%, _
         ByVal Y%, ByVal nWidth%, ByVal nHeight%, ByVal hSrcDC%, _
         ByVal XSrc%, ByVal YSrc%, ByVal dwRop&) As Integer
				

Jika Anda menggunakan versi 32-bit Visual Basic menggunakan berikut Menyatakan pernyataan. (Jika Deklarasi ditempatkan di umum Deklarasi bagian dari bentuk, kunci privat harus ditempatkan di awal deklarasi.)
   Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, _
         ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, _
         ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, _
         ByVal ySrc As Long, ByVal dwRop As Long) As Long
				

Berikut mendefinisikan masing-masing parameter formal yang digunakan dalam menetapkan:
Parameter   Definition
-----------------------------------------------------------------------
hDestDC     Specifies the device context that is to receive the bitmap.
X,Y         Specifies the logical x-coordinate and y-coordinate of the
            upper-left corner of the destination rectangle.

nWidth   Specifies the width (in logical units) of the destination
         rectangle and the source bitmap.

nHeight  Specifies the height (in logical units) of the destination
         rectangle and the source bitmap.

hSrcDC   Identifies the device context from which the bitmap will be
         copied. It must be NULL(zero) if the dwRop& parameter specifies a
         raster operation that does not include a source.

XSrc  Specifies the logical x-coordinate and the y-coordinate of the upper-
      left corner of the source bitmap.

dwRop Specifies the raster operation to be performed as defined below.
				

Berikut Raster didefinisikan menggunakan konstanta standar ditemukan di WINDOWS.H file yang disertakan dengan perangkat lunak Microsoft Windows Development Kit (SDK). Nilai dalam tanda kurung () adalah nilai untuk menetapkan dwRop & variabel.
Code/Value (hex)     Description
--------------------------------------------------------------------------
BLACKNESS (42)       Turn output black.
DSINVERT(550009)     Inverts the destination bitmap.
MERGECOPY(C000CA)    Combines the pattern and the source bitmap using the
                     Boolean AND operation.
MERGEPAINT(BB0226)   Combines the inverted source bitmap with the
                     destination bitmap using the Boolean OR operator.
NOTSRCCOPY(330008)   Copies the inverted source bitmap to the destination.
NOTSRCERASE(1100A6)  Inverts the result of combining the destination and
                     source bitmap using the Boolean OR operator.
PATCOPY(F00021)      Copies the pattern to the destination bitmap.
PATINVERT(5A0049)    Combines the destination bitmap with the pattern using
                     the Boolean XOR operator.
PATPAINT(FB0A09)     Combines the inverted source bitmap with the pattern
                     using the Boolean OR operator. Combines the result of
                     this operation with the destination bitmap using the
                     Boolean OR operator.
SRCAND(8800C6)       Combines pixels of the destination and source bitmap
                     using the Boolean AND operator.
SRCCOPY(CC0020)      Copies the source bitmap to destination bitmap.
SRCERASE(4400328)    Inverts the destination bitmap and combines the
                     results with the source bitmap using the Boolean AND
                     operator.
SRCINVERT(660046)    Combines pixels of the destination and source bitmap
                     using the Boolean XOR operator.
SRCPAINT(EE0086)     Combines pixels of the destination and source bitmap
                     using the Boolean OR operator.
WHITENESS(FF0062)    Turns all output white.
				

Contoh langkah demi langkah

Berikut adalah contoh menunjukkan bagaimana untuk menyalin isi dari sebuah gambar kontrol untuk Isi lain gambar kontrol.
  1. Memulai sebuah proyek baru dalam Visual Basic. Form1 dibuat secara default. Tempat dua gambar kontrol (Picture1 dan Picture2) pada Form1.
  2. Menambahkan modul BAS untuk proyek.
  3. Di bagian umum Deklarasi tempat modul berikut kode untuk menyatakan BitBlt API:
          #If Win32 Then
          Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x _
          As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As _
          Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As _
          Long, ByVal dwRop As Long) As Long
          #Else
          Declare Function BitBlt Lib "GDI" (ByVal hDestDC%, ByVal X%, ByVal _
          Y%, ByVal nWidth%, ByVal nHeight%, ByVal hSrcDC%, ByVal XSrc%, _
          ByVal YSrc%, ByVal dwRop&) As Integer
          #End If
    
    						
  4. Menampilkan beberapa grafis di Picture1 oleh loading dari file gambar atau oleh paste dari clipboard saat desain. Anda dapat memuat gambar dari file sebagai berikut:

    1. Pilih gambar dari kotak daftar properti dan klik tombol dengan tiga titik-titik di sebelah kanan kotak pengaturan.
    2. Kemudian pilih file gambar yang diinginkan seperti.BMP atau.ICO file disertakan dengan Microsoft Windows dari kotak dialog.
  5. Tambahkan kode berikut untuk prosedur Form_Click:
          Private Sub Form_Click ()
          #If Win32 Then
          Const PIXEL = 3
          Picture1.ScaleMode = PIXEL
          Picture2.ScaleMode = PIXEL
          hDestDC& = Picture2.hDC
          x& = 0: y& = 0
          nWidth& = Picture2.ScaleWidth
          nHeight& = Picture2.ScaleHeight
          ' Assign information of the source bitmap.
          hSrcDC& = Picture1.hDC
          xSrc& = 0: ySrc& = 0
          ' Assign the SRCCOPY constant to the Raster operation.
          dwRop& = &HCC0020
          Suc& = BitBlt(hDestDC&, x&, y&, nWidth&, nHeight&, hSrcDC&, _
          xSrc&, ySrc&, dwRop&)
          #Else
          ' Assign information of the destination bitmap. Note that Bitblt
          ' requires coordinates in pixels.
          Const PIXEL = 3
          Picture1.ScaleMode = PIXEL
          Picture2.ScaleMode = PIXEL
          hDestDC% = Picture2.hDC
          x% = 0: y% = 0
          nWidth% = Picture2.ScaleWidth
          nHeight% = Picture2.ScaleHeight
          ' Assign information of the source bitmap.
          hSrcDC% = Picture1.hDC
          xSrc% = 0: ySrc% = 0
          ' Assign the SRCCOPY constant to the Raster operation.
          dwRop& = &HCC0020
          Suc% = BitBlt(hDestDC%, x%, y%, nWidth%, nHeight%, hSrcDC%, _
          xSrc%, ySrc%, dwRop&)
          #End If
          End Sub
    
    						
  6. Menjalankan program. Klik bentuk. Isi gambar pertama akan ditampilkan pada gambar cond se.

Properti

ID Artikel: 147810 - Kajian Terakhir: 15 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Enterprise Edition
Kata kunci: 
kbhowto kbmt KB147810 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:147810

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com