Gleiche Karte wie oben nur mit subpixel=3 gerendert - erkennst du einen Unterschied?
Ich denke, für den Digital-zoom brauchst du 1-2 Tage

Auch wenn ich keinerlei Ahnung habe wie du derzeit die Kartenanzeigeroutine implementiert hast hier mal mein Denkansatz:
Der Digitalzoom sollte mit allen .gemf Karten funktionieren - wobei hier es wohl derzeit ein Problem mit Karten im .png Format gibt - einige Tiles - mal mehr oder weniger - werden nicht angezeigt.
Wir wissen, dass es 256, 512 und 768er Tiles gibt.
Klar ist auch, dass es je nach Handy verschiedene Displaygrößen und Auflösungen gibt.
Displaygröße und Auflösung ist ja derzeit kein Problem da das ja funktioniert - zumindest bei meinem Handy

Du hattest weiter oben geschrieben dass du die 512er Tiles in 4 256er Tiles aufzuteilen gedenkst um sie dann anzuzeigen.
Mein Grundgedanke erst mal ist, dass du eine Karte hast die x* größer ist als die Anzeige des Handys - d.h. du musst irgend wo die Kartenkoordinaten berechnen die gerade angezeigt werden entsprechend der Displaygröße. Diese Funktion ist bereits vorhanden.
Was passiert wenn diese Funktion mit einem Parameter des Digitalzooms aufgerufen wird? Wobei dieser idealerweise beliebig ist - so wie man es gerade mit den Fingern gezogen hat.
Entspricht der gezogene Zoomlevel +/- x Pixel einem in der Karte entsprechenden Zoomlevel wird der nächst größere Zoomlevel der Karte angezeigt. Soweit ich das sehe ist diese Funktion bereits vorhanden.
Eigentlich benötigt man den Digitalzoom ja nur wenn der gezogene Zoomlevel größer ist als die Karte her gibt.
Kommen wir zum Parameter:
Wenn ich mit den Fingern x Pixel ziehe sollte sich dies ja nur auf die derzeit dargestellte Karte beziehen.
Beispiel: Displaygröße =1000*700 die Finger ziehen 100 Pixel daraus ergeben sich:
Oberer Displayrand 1000 - 50
Unterer Displayrand 50
Links 50
Rechts 650
Dies wäre ja dann der Kartenausschnitt der bereits angezeigt wird und gezoomt dargestellt werden soll. D.h. dieser ist dann nur noch auf das gesamte Display zu übertragen.
Oder anders ausgedrückt: Der Parameter gaukelt dem System vor, dass ein kleineres Display vorhanden ist - zeigt den berechneten Kartenausschnitt dann aber auf dem tatsächlich größeren Display an.
Benutzt man die Plus/Minus Taste für Zoomlevel wird der Parameter wieder auf 0 gesetzt.
Sieht doch einfach aus, oder?

