03/01/11 4:39
dedo93
Ciao a tutti,
sono nuovo qui.. iscritto apposta per cercare una soluzione a questo problema.
Ho una picturebox che carica un pezzo (32x64) di un immagine molto più grande (384x5440). Questa seconda immagine ha lo sfondo RGB(255,0,255) e nel momento in cui vado a prenderne il piccolo pezzo che mi serve dovrei toglierlo e renderlo trasparente.
Il codice che sto attualmente usando è questo:
Non riesco proprio a venirne fuori, ho già provato TransparentBlt ma non riesco ad ottenere risultati buoni...
Grazie a tutti in anticipo
sono nuovo qui.. iscritto apposta per cercare una soluzione a questo problema.
Ho una picturebox che carica un pezzo (32x64) di un immagine molto più grande (384x5440). Questa seconda immagine ha lo sfondo RGB(255,0,255) e nel momento in cui vado a prenderne il piccolo pezzo che mi serve dovrei toglierlo e renderlo trasparente.
Il codice che sto attualmente usando è questo:
Public Const CAPS1 = 94 Public Const C1_TRANSPARENT = &H1 Public Const NEWTRANSPARENT = 3 Dim dColor As Long Dim dMode As Long If (GetDeviceCaps(picPic.hdc, CAPS1) And C1_TRANSPARENT) Then dMode = SetBkMode(picPic.hdc, NEWTRANSPARENT) dColor = SetBkColor(picPic.hdc, RGB(255, 0, 255)) picSprites.Left = 128 * -1 picSprites.top = 128* -1 Call BitBlt(picPic.hdc, 0, 0, 32, 64, picSprites.hdc, 128, 128, vbSrcCopy) SetBkColor picPic.hdc, dColor SetBkMode picPic.hdc, dMode Else MsgBox "Your graphic drivers does not support transparency.", vbCritical Call GameDestroy End If
Non riesco proprio a venirne fuori, ho già provato TransparentBlt ma non riesco ad ottenere risultati buoni...
Grazie a tutti in anticipo
aaa