Hvordan kan jeg efter at have udskrevet en masse værdier fra 2 billeder sammenligne disse for så bagefter at finde forskellen på dem??
Værdien for begge steder er en X og Y værdi med nogle tal bafefter.. hvis X og Y værdien på begge billeder ikke har samme tal efter sig skal jeg gerne have at vide hvilke X og Y punkter det drejer sig om.
Et eksempel på en udskreven værdi kunne være x:1y:2 - 245633221
Jeg har tænkt på en access database, men jeg tror ikke den arbejder hurtigt nok, ellers kunne man jo indlæse hver x o y i hver sit felt i en tabel og derudfra sige at hvis ID'en ikke stemmer overens så udskriv det pågældende ID.
For y = 0 To Picture1.ScaleHeight For x = 0 To Picture1.ScaleWidth Picture3.PSet (x, y), Picture1.Point(x, y) - Picture2.Point(x, y) Next x DoEvents Next y
Det fungerer jo fint! Men kører ret så langsomt, nogen idéer til hvordan det kan komme til at køre hurtigere? mazzoo smider du et svar, så kan i dele points.
Private Declare Function BitBlt Lib "gdi32" (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 Sub Command2_Click() Picture3.Picture = Picture1.Picture DoEvents BitBlt Picture3.hDC, 0, 0, Picture3.ScaleWidth, Picture3.ScaleHeight, Picture2.hDC, 0, 0, &H660046 Picture3.Refresh End Sub
Ok, det er meget godt, hvis man lige fjerner Picture3.Refresh får jeg så den del af billede 2 der ikke findes på billede 1´.. min gamle kode har jeg lavet sådan at man kan finde hvor mange procent der har ændret sig via en simpel if sætning. Men er det også muligt med det stykke kode du har postet til sidst fizz? jeg kender ikke rigtig til BitBlt og hdc. Men sådan som jeg forstår det så kører den fra punkt 0,0 til højde*længde af billedet
hmm man kan ikke tælle procent mens den ´tegner´ det er man nødt til at gøre bagefter med et lille loop For y = 0 To Picture1.ScaleHeight For x = 0 To Picture1.ScaleWidth if Picture3.Point(x, y) <> 0 then diff=diff+1 Next x DoEvents Next y
husk at sætte alle picturebox´ne til autoredraw=true så virker Picture3.Refresh
Synes godt om
Ny brugerNybegynder
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.