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