Намудрил ты чего-то
Вот примерчик небольшой:
Private Declare Function SaveDC Lib "gdi32" Alias "SaveDC" (ByVal hdc As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" Alias "CreateCompatibleDC" (ByVal hdc As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" Alias "CreateCompatibleBitmap" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function SelectObject Lib "gdi32" Alias "SelectObject" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function SetPixel Lib "gdi32" Alias "SetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
Private Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (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
Private Declare Function RestoreDC Lib "gdi32" Alias "RestoreDC" (ByVal hdc As Long, ByVal nSavedDC As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" Alias "DeleteDC" (ByVal hdc As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" Alias "DeleteObject" (ByVal hObject As Long) As Long
Private Const SRCCOPY = &HCC0020
Public Sub DRAW_PROC()
' Помести на форму рамку с изображением, назови ее Pic
' Сохраним DC для последующего восстановления
dim hDCPic as Long
hDCPic = SaveDC(Pic.hdc)
'Создаем DC памяти (совместимый естевственно)
dim dcComp as Long
dcComp = CreateCompatibleDC(Pic.hdc)
Dim wip as Long
Dim hip as Long
wip = pic.Width / Screen.TwipsPerPixelX
hip = pic.Height / Screen.TwipsPerPixelY
'Создаем растровое изображение
Dim hBitmap as Long
Dim lDummy as long
hBitmap = CreateCompatibleBitmap(Pic.hdc, wip, hip)
lDummy = SelectObject(dcComp, hBitmap)
'Выбираем случайный цвет пиксела между 0 и 2^24 - 1
Dim r as Long, c as Long, l as Long
Randomize Timer
For r = 0 to wip - 1
For c = 0 to hip - 1
l = Rnd * (2 ^ 24 -1)
SetPixel dcComp, r, c, l
Next c
Next r
BitBlt Pic.hdc, 0, 0, wip, hip, dcComp, 0, 0, SRCCOPY
RestoreDC Pic.hdc, hDCPic
DeleteDC dcComp
DeleteObject hBitmap
End Sub
'*************************************
'Пример создает "образ" pic в памяти, разрисовывает его разными цветами и восстанавливает на pic. Должно охватить все твои потребности
ЗЫ: А вообще тебе на
www.msdn.com в раздел GDI/GDI+