Hallo,
danke für die Anregungen,
@captainfritz:
ich weiss nicht, ob der von Dir beschriebene Weg in ArcView funktioniert, ich habe das in VBA schon mal für ACAD direkt Nachempfunden. Ich habe PNG nach BMP umgewandelt und aus der dann für jedes Pixel direkt einen 3-Punkt erzeugt.
Das Ergebniss war, dass eine einzige ca. 500 kB große PNG-Datei (1024x1024 Pixel) eine gigantische DWG- Datei hervorruft.
1024x1024=1.048.576 ACAD-Punkte. Das ist für normales Arbeiten einfach zuviel.
@mapcar:
Der Ansatz ist gut, ich kenne Deine Seite schon, da ich auf ind24 schon mal gefragt habe. http://www.industrie24.com/bbs/read.php?f=5&i=8402&t=8380
Zielstellung ist bei mir das auslesen "mal zwischendurch" während der Konstruktion. Geht das mit der JAVA-Variante irgendwie??
Ich habe ich auch schon etwas mehr über die im obigen Link beschriebene "gdi32.dll"-Funktion GetPixel herausgefunden. Nämlich, dass es so nicht geht. :-(
Meine Vorzugslösung ist derzeit wirklich, anhand der Lage & Skalierung der Eingefügten Bildreferenz, die Pixelposition über Auswerten der originalen-BMP-Datei nachzuvollziehen und abzufragen.
Mit BMP-Dateien geht das in VBA recht einfach, da diese nicht komprimiert sind und das Dateiformat ganz einfach ist. Die Frage ist aber, wie komme ich die RGB-Werte bei komprimierten Dateien, vorzugsweise PNG ??
JPG kann ich ausschließen, da durch die Kompression die Höhencodierung (vollständig!) zerstört wird.
Gibt es eine Bibliothek, die diese Funktionen (Gib mir den RGB-Wertz von Pixel X,Y der Datei "abc.png" zurück) direkt in VBA bereitstellt?
Ich habe was von LIBPNG gelesen, hab aber noch keine Ahnung, wie es einzubinden/anzuwenden ist, und ob es überhaupt möglich ist. Dahingehend sind meine Programmierkenntnisse recht bescheiden.
In der Hoffnung auf weitere Hilfe/Denkanstösse
Hendrik
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP