Hej! du har skrivit: Jo, jag upptäckte detta fel... Men får endå samma problem med att point inte verkar kunna se de svarta siffrorna... Förstår inte riktigt varför du inte gjort en for-sats, men ok. Om inte nedanstående kod fungerar efter att du lagt dit nödvändiga objekt,PictureBox.point?
Jag har försökt mig på ett skrivas en lite VB kod som jag trodde skulle ge mig möjligheten att läsa av pixlarna för en bild i en picturebox, men tyvärr verkar jag ha missförstått något. Laddar jag upp en bild som består av 4 svarta siffror på genomskinlig bakgrund får jag bara samma svar var jag än "pointar" (14933984)
Så här ser koden ut:
Dim ImgFileName As String
Dim Color As Long
Private Sub Command1_Click()
CommonDialog1.ShowOpen
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
ImgFileName = CommonDialog1.FileName
Set Picture1.Picture = LoadPicture(ImgFileName)
ErrHandler:
CommonDialog1.CancelError = False
Cancel = -1
End Sub
Private Sub Command2_Click()
Dim i, j As Integer
i = 1
j = 1
Do While i <= Picture1.Height
Do While j <= Picture1.Width
Color = Picture1.Point(i, 2)
Text1.Text = Text1.Text & Color & vbCrLf
j = j + 1
Loop
i = i + 1
Loop
End Sub
Hjälp...?Sv: PictureBox.point?
<code>
Color = Picture1.Point(i, 2)
</code>
borde det inte vara:
<code>
Color = Picture1.Point(i, j)
</code>Sv:PictureBox.point?
Sv: PictureBox.point?
Testa sätta scalemode till pixel och använd .ScaleWidth och .ScaleHeight istället.
Någon skillnad? Autoredraw? DrawMode?
PS Lägg till Exit Sub i Klickhändelsen på knappen.
//Mvh Me.NameSv: PictureBox.point?
ja, då får du installera om VB.
Dim x As Long, y As Long
Dim lngColorRet As Long
For y = 0 To picTemp.ScaleHeight
For x = 0 To picTemp.ScaleWidth
lngColorRet = picTemp.Point(x, y)
lstColorItems.AddItem lngColorRet
Next x
Next y
MVH Me.Name