FeGe
- Forum-Beiträge: 14
13.05.2011, 19:59:04 via Website
13.05.2011 19:59:04 via Website
Hallo,
Ich wende mich an euch mit einer Frage, die vermutlich trivial ist, die aber auch nach 5 Stunden googlen nicht so beantwortet ist, dass es funktioniert. Folgendes vorweg: Ich habe ein Programm, das in einem ImageView ein Bild mit den Abmessungen 400x545 anzeigt. In der Layout-XML habe ich angegeben, das es auch mit exakt dieser Größe angezeigt werden soll
Soweit so gut. Im Programm hole ich mit dann das Bitmap und erzeuge damit ein neues Canvas. Auf dem Bild, das ist eine Karte, möchte ich nun Regionen einzeichnen. Für die Regionen habe ich mir einen int-Array gebaut, das funktioniert auch soweit, er zeichnet eine Region. Leider hat die Region nichts mit den eingegeben Abmessungen zu tun. Ich bin dabei wie folgt vorgegangen:
Leider ist die gezeichnet Region viel zu klein und sitzt ganz woanders. Also hab ich mir mal über den Emulator die XY-Koordinaten durch Wausklick geholt. Da kommen dank Density und Co ganz andere Werte raus. Die passen aber genauso wenig. Dann habe ich lange gegoogelt, Dinge gefunden wie TypedValue.applyDimension(), habe selber versucht den Skalierungsfaktor zu errechnen. Das hatte alles keinen Erfolg und ich weiß nicht wieso...
Vielleicht könnt ihr mir ja helfen, wie ich auflösungsunabhängig meinen Regionen übertragen kann. Schon einmal vielen Dank im Vorraus.
Liebe Grüße,
Felix
Ich wende mich an euch mit einer Frage, die vermutlich trivial ist, die aber auch nach 5 Stunden googlen nicht so beantwortet ist, dass es funktioniert. Folgendes vorweg: Ich habe ein Programm, das in einem ImageView ein Bild mit den Abmessungen 400x545 anzeigt. In der Layout-XML habe ich angegeben, das es auch mit exakt dieser Größe angezeigt werden soll
1<ImageView
2android:layout_width="400dip"
3android:layout_height="545dip"
4android:src="@drawable/map"
5android:id="@+id/image"
6android:layout_alignParentRight="true"
7android:layout_alignParentTop="true" />
2android:layout_width="400dip"
3android:layout_height="545dip"
4android:src="@drawable/map"
5android:id="@+id/image"
6android:layout_alignParentRight="true"
7android:layout_alignParentTop="true" />
Soweit so gut. Im Programm hole ich mit dann das Bitmap und erzeuge damit ein neues Canvas. Auf dem Bild, das ist eine Karte, möchte ich nun Regionen einzeichnen. Für die Regionen habe ich mir einen int-Array gebaut, das funktioniert auch soweit, er zeichnet eine Region. Leider hat die Region nichts mit den eingegeben Abmessungen zu tun. Ich bin dabei wie folgt vorgegangen:
- Mit Paint eine Liste von Punkten erstellen, zB 292/64, 287/116 usw
- Das Programm zeichnet nun mit drawPath() entsprechende Pfade
Leider ist die gezeichnet Region viel zu klein und sitzt ganz woanders. Also hab ich mir mal über den Emulator die XY-Koordinaten durch Wausklick geholt. Da kommen dank Density und Co ganz andere Werte raus. Die passen aber genauso wenig. Dann habe ich lange gegoogelt, Dinge gefunden wie TypedValue.applyDimension(), habe selber versucht den Skalierungsfaktor zu errechnen. Das hatte alles keinen Erfolg und ich weiß nicht wieso...
Vielleicht könnt ihr mir ja helfen, wie ich auflösungsunabhängig meinen Regionen übertragen kann. Schon einmal vielen Dank im Vorraus.
Liebe Grüße,
Felix
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.