Tôi có mã để tạo lại hình ảnh chất lượng cao với chất lượng rất kém nhưng tôi hơi bối rối bởi kết quả tôi thấy. Mã này là ở đây:Làm cách nào để tạo lại UIImage với mức nén thấp hơn trong iOS?
NSData *compressedData = UIImageJPEGRepresentation(bigImage,0);
NSLog(@"compressedData length = %d", [compressedData length]);
self.currentImage = [UIImage imageWithData:compressedData];
NSData *dataAfterCompression = UIImageJPEGRepresentation(self.currentImage,1);
NSLog(@"dataAfterCompression length = %d", [dataAfterCompression length]);
kết quả đầu ra nào:
2012-01-02 02:47:05.615 MyApp[349:707] compressedData length = 32671
2012-01-02 02:47:06.143 MyApp[349:707] dataAfterCompression length = 251144
Tại sao sẽ tạo ra một hình ảnh mới với các dữ liệu chất lượng thấp dẫn đến một hình ảnh lớn như vậy?
Tôi đang sử dụng chất lượng cao nhất lần thứ hai chỉ để lấy đối tượng NSData để ghi nhật ký kích thước. Nhưng hình ảnh tôi đang sử dụng quy mô chất lượng cao nhất nên đã được thu nhỏ lại với chất lượng thấp nhất, vì vậy tôi nghĩ tôi sẽ nhận được hình ảnh 32.6KB – Tony
Nếu bạn muốn có hình ảnh có kích thước xấp xỉ 32 KB. sau đó bạn phải sử dụng nén tối đa hơn là nén thấp hơn. Vì vậy, nó thuộc vào bạn. Bên cạnh đó bạn sẽ thấy liên kết này, tôi hy vọng nó có thể khá hữu ích cho bạn http://ofcodeandmen.poltras.com/2008/10/ 30/undocumented-uiimage-resizing/ – Kamarshad
Tôi đã làm. Đọc lại câu hỏi của tôi một cách cẩn thận – Tony