Viel Arbeit für eine kleine Änderung
Donnerstag, September 11th, 2014Eigentlich hatte ich ja vor, wieder die meiste Zeit in die nicht sichtbaren Änderungen zu investieren. Allerdings habe ich mich da diesmal total verkalkuliert. Als kleines sichtbares Gimmick hatte ich mir überlegt, nach langer Zeit wieder mal ein neues Element zur Bildfilterung zu implementieren. Dazu hatte ich mir die Brennweite, mit der die Fotos aufgenommen wurden, herausgesucht. Das Grundgerüst zur Bildfilterung stand eigentlich recht schnell, aber dann fiel es mir extrem schwer, ein geeignetes Oberflächenelement zu erstellen, mit dem die Filterparameter eingestellt werden können.
Schnell legte ich mich darauf fest, ähnlich wie bei dem Filterelement „mittlere Helligkeit“ vorzugehen. Dort kann durch einen Schieberegler mit zwei Schiebern der Bereich eingestellt werden, in dem sich die gesuchten Bilder befinden sollen. Allerdings hat diese Vorgehensweise bei der Brennweite einen entscheidenden Nachteil. Die gängigen Objektive, die es für Kameras zu kaufen gibt, bewegen sich in einem Bereich von 0-300 Millimeter Brennweite. Im Weitwinkelbereich, der sich bis etwa 50 Millimeter Brennweite erstreckt, führt eine Änderung um wenige Millimeter zu total unterschiedlichen Bildern. Im Telebereich dagegen ist es nicht so entscheidend, ob der Wert um 10 Millimeter größer oder kleiner ist. Die Skala des Schiebereglers sollte also nicht linear ansteigen, da ansonsten im Weitwinkelbereich nicht genau genug ausgewählt werden kann.
Daher habe ich mich entschieden, einen drei geteilten Schieberegler zu erstellen. Das erste Drittel erfasst den Bereich von 0 bis 20 Millimeter, der mittlere Bereich erstreckt sich von 21 bis 100 Millimeter Brennweite und der letzte Bereich dient zur Auswahl der Brennweiten von 101 bis 999 Millimeter Brennweite. Ich habe ein deutlich größeres Maximum gewählt, damit auch Objektive mit exotischen Brennweiten mit dem Filter erfasst werden können. Trotzdem kann der gesuchte Bereich im Weitwinkelteil sehr genau ausgewählt werden. Damit die Komponente intuitiv bedienbar bleibt, wird unter dem Schieberegler der ausgewählte Bereich in Textform ausgegeben.
Da ich in die Komponente zur Auswahl des Bereiches viel Arbeit gesteckt habe, werde ich in den nächsten Wochen die Brennweite auch als Kriterium in der Ansichtseinschränkung nutzbar machen. Da die Komponente zur Auswahl bereits fertig ist, sollte diesmal wieder mehr Zeit bleiben, um die internen Änderungen voranzutreiben.