Avatar billede danielhep Nybegynder
04. august 2001 - 19:00 Der er 8 kommentarer og
1 løsning

Gennemsigtig picture1

Er der nogle af jer VB gutter som kan fortælle mig hvordan man gør sin picturebox gennemsigtig.
Det vil sige at man har insat et billede af et hus, men det er kun huset som skal kunne ses, men resten af picturebox skal ikke.?
Avatar billede tmceu Praktikant
04. august 2001 - 19:16 #1
Hvad med blot at ændre baggrundsfarve på billedet med huset, så det har samme farve som baggrunden på din form ? Jeg mener ikke du kan lave dele af en picturebox transparent.
Avatar billede johs_j Novice
04. august 2001 - 19:26 #2
Hvis du nu laver dit billede gennemsigtigt i et billedbehandlingsprogram som f.eks. Paint Shop Pro.
Avatar billede danielhep Nybegynder
04. august 2001 - 19:30 #3
Hmm...Ja jeg kunne prøve med PSP men jeg bruger mest Fireworks...
Lave billedet den samme farve, nej det går pga at der er flere farver på billedet end 1.
Avatar billede sjh Nybegynder
04. august 2001 - 21:18 #4
\'Ja lav det transparent. API Call:

\'------------------------------------ Module1 ------------------------------------
Declare Function TransparentBlt Lib \"msimg32\" _
                (ByVal hdcDest As Long, ByVal nXOriginDest As Long, _
                  ByVal nYOriginDest As Long, ByVal nWidthDest As Long, _
                  ByVal nHeightDest As Long, ByVal hdcSrc As Long, _
                  ByVal nXOriginSrc As Long, ByVal nYOriginSrc As Long, _
                ByVal nWidthSrc As Long, ByVal nHeightSrc As Long, _
                ByVal crTransparent As Long) As Long

Declare Function GetPixel Lib \"gdi32\" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Declare Function GetObject Lib \"gdi32\" Alias \"GetObjectA\" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
Declare Function SelectObject Lib \"gdi32\" (ByVal hdc As Long, ByVal hObject As Long) As Long
Declare Function CreateCompatibleDC Lib \"gdi32\" (ByVal hdc As Long) As Long
Declare Function DeleteDC Lib \"gdi32\" (ByVal hdc As Long) As Long
Public Declare Function LoadImage Lib \"user32\" Alias \"LoadImageA\" (ByVal hInst As Long, ByVal lpsz As String, ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) As Long
Public Declare Function DeleteObject Lib \"gdi32\" (ByVal hObject As Long) As Long

Public Type Bitmap
    bmType As Long
    bmWidth As Long
    bmHeight As Long
    bmWidthBytes As Long
    bmPlanes As Integer
    bmBitsPixel As Integer
    bmBits As Long
End Type

Public Const LR_CREATEDIBSECTION = &H2000
Public Const LR_LOADFROMFILE = &H10
\'------------------------------------ Module1 ------------------------------------


\'------------------------------------- Form1 -------------------------------------
Dim hdcSrc As Long
Dim hdcWidth As Integer
Dim hdcHeight As Integer
Dim filename As String

Private Sub GetDimensions()
Dim dbitmap As Bitmap
Dim hbitmap As Long

hbitmap = LoadImage(ByVal 0&, filename, 0, 0, 0, LR_LOADFROMFILE Or LR_CREATEDIBSECTION)
GetObject hbitmap, Len(dbitmap), dbitmap

hdcHeight = dbitmap.bmHeight
hdcWidth = dbitmap.bmWidth
DeleteObject hbitmap
End Sub

Private Sub Command1_Click()
Dim TransparentColor As Long

hdcSrc = CreateCompatibleDC(Me.hdc) \'eller Form1.hdc
SelectObject hdcSrc, LoadPicture(filename)

GetDimensions

TransparentColor = GetPixel(hdcSrc, 10, 10) \'Get Transparent Color 0, 0 (x, y)
TransparentBlt Picture1.hdc, 0, 0, hdcWidth, hdcHeight, hdcSrc, 0, 0, hdcWidth, hdcHeight, TransparentColor

DeleteDC hdcSrc
Picture1.Refresh
End Sub

Private Sub Form_Load()
filename = \"C:\\WINDOWS\\Udhugget sten.bmp\"
Picture1.AutoRedraw = True
Picture1.BackColor = &HFFFFFF
End Sub
\'------------------------------------- Form1 -------------------------------------
Avatar billede danielhep Nybegynder
06. august 2001 - 19:15 #5
Amen, det var noget af en kode, jeg kigger på den
Avatar billede danielhep Nybegynder
06. august 2001 - 23:12 #6
ja, jeg har kigget på det, men kan ikke få det til at virke.
Avatar billede sjh Nybegynder
07. august 2001 - 01:56 #7
Avatar billede danielhep Nybegynder
09. august 2001 - 00:02 #8
SJH.>>

jeg har kigget på dit eks, og det er også godt nok, men det jeg mener er at når man starter sin form så er der en picture1 og den er der med det samme, og så skal man kunne rykke rundt med den.
Avatar billede sjh Nybegynder
09. august 2001 - 00:28 #9
Prøv at se her hvordan du flytter picture1

http://www.eksperten.dk/spm/95154 (Så skal du jo flyt den.)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester