Mam ikony w Mapach Google, które muszę obracać pod pewnymi kątami przed rysowaniem mapy za pomocą MarkerImage. Robię rotację "w locie" w Pythonie przy użyciu PIL, a wynikowy obraz ma ten sam rozmiar co oryginał - 32x32. Na przykład, dla następującego domyślnego Google mapy markerów: , 30 ° conter do ruchu wskazówek zegara obrót uzyskuje się z zastosowaniem kodu pytona:Uzyskaj nowe współrzędne x, y punktu na obróconym obrazku
# full_src is a variable holding the full path to image
# rotated is a variable holding the full path to where the rotated image is saved
image = Image.open(full_src)
png_info = image.info
image = image.copy()
image = image.rotate(30, resample=Image.BICUBIC)
image.save(rotated, **png_info)
obraz wynikowy
Trudne bit jest uzyskanie nowego punktu kontrolnego do użycia podczas tworzenia MarkerImage za pomocą nowego obróconego obrazu. To musi być spiczasty koniec ikony. Domyślnie punktem kontrolnym jest dolny środek [zdefiniowany jako (16,32) we współrzędnych x, y gdzie (0,0) jest lewym górnym rogiem]. Czy ktoś może mi wyjaśnić, jak mogę to łatwo zrobić w JavaScript?
Dzięki.
Aktualizacja 22 Cze 2011: Opublikował zły obrócony obraz (oryginalny był dla 330 stopni przeciwnie do ruchu wskazówek zegara). Poprawiłem to. Dodano również resampling (Image.BICUBIC), który sprawia, że obrócona ikona jest wyraźniejsza.
@Trufa: Dzięki za radę. –