| |
|
|
| ¡Hola Personas !
sagen wir, Yo una BMP(A) y una ausschnitt BMP(B). Nun möchte Yo überprüfen si, B irgendwo en A vorkommt. Kann Yo el con el ProSpeed.Dll irgendwie realisieren?
Mit freundlichem Gruss, Alexander Schönfeld |
|
|
| |
|
|
|
| ¡Hola Alexander,
como hast du dir aber una gewaltige Tarea gestellt, Yo saber kein Programa oder Dll, el el podría...
Aber una Concepto Yo doch (sí, con ProSpeed):
Verwandle beide Bilder en una ByteArray via InitExtFX(). Usted hast ahora zwei Handle para zwei Byte Arrays, also quasi zwei Bereiche con Grafikdaten. El zurückgegebenen Handle son Adressen a uno Struktur, a deren Offset 40 el Zeiger en el real Grafikdaten es (LongInt). El mußt du en una variable speichern...
arrayadresse1&=Long(bytearray1&,40) arrayadresse2&=Long(bytearray2&,40)
Und Por favor, beachte, el el Gráficos vom Sistema (paradoxerweise) de links unten después de rechts oben gespeichert voluntad (!) An Offset 20 es de paso una LongInt, el angibt, wieviele Bytes en el jeweiligen Bytearray posición. Diese Infos necesidad du ebenfalls. Jetzt kannst du FindBytes() anwenden. Am besten läßt du el ersten 16 Bytes des Bildausschnitts en el großen Bild suchen. Si el Ergebniss hier negativo war, es el Bildausschnitt nirgendwo en el Bild disponible. Wenn él positiv war, kopiere de dieser Punto en el Größe des Bildausschnitts esta Punto en una neuen HDC y de hay läßt du lo otra vez en una Byte-Array umwandeln. Jetzt kannst du beide Bytesarrays (el sí ahora el gleiche Größe haben) con CompareBytes() vergleichen. Si el Ergebniss positiv war, entonces befindet se el Bildausschnitt tatsächlich en el Bild.
No veces así simplemente, oder? Pero immerhin una relativ schnelle Solución. Alternativ kannst du natürlich auch con GetPixel() / SetPixel() trabajo. Yo hoffe, du bekommst el hin...
Saludo, Franco |
|
|
| |
|
|