INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

Maske für nicht serialisierte Pixmap zeichnen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

29.10.2015, 23:57 (Dieser Beitrag wurde zuletzt bearbeitet: 30.10.2015 00:02 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Maske für nicht serialisierte Pixmap zeichnen
(23.10.2015 16:15 )Trinitatis schrieb:  Hallo zusammen,

ich bin mir nicht ganz sicher, ob es ein BUG ist, aber in der LV-Hilfe ist nicht ersichtlich, wie genau die Maske für transparent zu zeichnende Pixel in dem VI nicht serialisierte Pixmap zeichnen zu verwenden ist.

Das VI „nicht serialisierte PixMap zeichnen“ benötigt am Eingang Maske nicht wie in der Hilfe beschrieben für jeweils 8 zu zeichnende Pixel ein Maskenbyte, oder besser ausgedrückt: Dadurch ist die Verwendung des Eingangs Maske nicht eineindeutig beschrieben.

Für jede zu beschreibende Zeile des 2D-Pixelarrays müssen immer 2×N bytes des Maskenarrays übergeben werden, da das Maskenarray offenbar WORD-basiert arbeitet. D.h. für 1-16 zu zeichnende Pixel pro Zeile müssen 2 Maskenbytes;
für 17-32 zu zeichnende Pixel pro Zeile müssen 4 Maskenbytes usw. übergeben werden. Es können nicht 3 oder 7 usw. Maskenbytes pro Zeile übergeben werden!

Zudem wird nicht Bit 0 des ersten Maskenbytes für das erste Pixel verwendet, sondern das Maskenbyte-Bit-Array muss nochmal gedreht werden. Bit 0 des ersten Maskenbytes wird nämlich für das 8. Pixel verwendet, Bit1 für das 7. usw.

Vielleicht erspart dieser thread dem einen oder anderen ein paar Stunden Suche und Rumprobieren.


Gruß, Marko

LV Pixmaps sind immer auf 16 Bit pro Zeile gerundet. Die Maske is einfach eine 1 Bit Pixmap (B/W). Das war immer so und ist in dem Sinne kein Bug. Allenfalls könnte die Dokumentation darüber deutlicher sein, obwohl das bei der Pixmap Beschreibung selbst irgendwo schon erwähnt ist.

Auch die Bitfolge ist erklärbar da LabVIEW (und das Pixmap Format) ursprünglich vom Mac kommt, wo alles MSB (Most Significant Bit/Byte first) war. (Motorola 68000 Format)

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
RE: Maske für nicht serialisierte Pixmap zeichnen - rolfk - 29.10.2015 23:57

Gehe zu: