İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

VB 6.0 hakkında yardım

komutan6723.10.20100 cevap1.654 görüntüleme
2010'den beri1 mesaj
#1
Yapmış oldugum programda pictıre boxın içine ekran görüntusunu pixel olarak atmak istiyorum yani ekranı nokta nokta kopyalasın yazmış oldugun kod aşagıdadır:
Option Explicit
Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function SetPixelV Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long

Private Sub Form_Load()
    Hide
    
    Picture2.BackColor = vbWhite
    Caption = "GetPixel() & SetPixel() Example"
    Show
End Sub

Private Sub cmdCopyImage_Click()
    Dim i As Long, j As Long
    Picture2.AutoRedraw = True
        Picture2.Cls
        For i = 0 To 250
                For j = 0 To 250
                     SetPixelV Picture2.hdc, i, j, GetPixel(GetWindowDC(0), i, j)
                    Next
                Picture2.Refresh
    Next
End Sub
Bu Program calışıyor ama belli bir yerden sonra out of memory error veya involid proverty volue hatası veriyor. Bunu nasıl giderebilirim. Benim asıl amacım fareyle ekranın bir yerine tıkladığım zaman oranın renk kodunu forma aktarsın istiyorum. Aslında onuda yaptım ama oda belli bir tıklamadan sonra böyle bir hata verdi. Sanırım bunu asabilirsem onu da asarım. Şimdiden verdiğiniz cevaplar için tesekkur ederim.
Yapmış oldugum programın dosyaları upload ettim
program linki

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.