у меня есть этот код, где self
является UIImage объекта:ИОС: UIImage масштаб, UIImage и его соответствующие CGimage не являются идентичными
CGFloat scale = [sideSize floatValue]/MIN(self.size.width, self.size.height);
UIGraphicsBeginImageContextWithOptions(CGSizeMake(self.size.width*scale,self.size.height*scale), NO, 0.0);
[self drawInRect:CGRectMake(0, 0, self.size.width*scale, self.size.height*scale)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
SBLog(@"%f, %f", newImage.size.width, newImage.size.height);
return newImage;
Но когда я использую функцию UIImagePNGRepresentation
для получения байт данных для передачи через Интернет, я имеют байты изображения с другим размером после шкалы.
Более того после этого кода, когда я использую [newImage CGImage]
, я получаю такой же плохую величину.
Итак, я думаю, что UIImagePNGRepresentation
использует CGImage для получения байтов данных из изображения.
Итак, как сделать идентичные UIImage и CGImage?
То, что вы точно подразумеваете под «как сделать идентичную UIImage и CGImage»? – CodenameLambda1
Сделайте размер идентичным. Я хочу получить данные масштабированного изображения и передать их, поэтому я не хочу передавать большее изображение. Как я могу получить представление в байтах масштабированного изображения. – Logioniz
Это означает, что у вас есть определенный предел размера для изображения, и если изображение больше этого предела, вы хотите уменьшить изображение до его предельного размера и затем перенести его. Это верно ? – CodenameLambda1