3
我在GoogleMap
中放置了一個標記,其中包含Image
。但圖像的大小要大得多。所以我如何減少標記的大小。我曾經嘗試這樣做:使用Swift在GoogleMap中更改標記的大小
marker.icon = self.image(marker.icon, scaledToSize: CGSize(width: 3.0, height: 3.0))
我在GoogleMap
中放置了一個標記,其中包含Image
。但圖像的大小要大得多。所以我如何減少標記的大小。我曾經嘗試這樣做:使用Swift在GoogleMap中更改標記的大小
marker.icon = self.image(marker.icon, scaledToSize: CGSize(width: 3.0, height: 3.0))
調整圖像大小是指:The simplest way to resize an UIImage?
現在設定的調整後的圖像作爲標記圖標,即
marker.icon = self.imageWithImage(image: UIImage(named: "imageName")!, scaledToSize: CGSize(width: 3.0, height: 3.0))
編輯:
func imageWithImage(image:UIImage, scaledToSize newSize:CGSize) -> UIImage{
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0);
image.drawInRect(CGRectMake(0, 0, newSize.width, newSize.height))
let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
根據@PGDev的回答
我對斯威夫特3實現:
func imageWithImage(image:UIImage, scaledToSize newSize:CGSize) -> UIImage{
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0);
//image.draw(in: CGRectMake(0, 0, newSize.width, newSize.height))
image.draw(in: CGRect(origin: CGPoint(x: 0,y :0), size: CGSize(width: newSize.width, height: newSize.height)) )
let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return newImage
}
而且採用這種方式:
marker.icon = self.imageWithImage(image: UIImage(named: place.icon)!, scaledToSize: CGSize(width: 100.0, height: 100.0))
是什麼imageWithImage在這種情況下@PGDev – hussain
謝謝! :) @PGDev – hussain