Tôi đang chuyển đổi hình ảnh thành tệp MOV và có một điều thú vị xảy ra với tôi. Tôi đã đăng nhập bit của tôi cho mỗi thành phần màu sắc, bit trên mỗi pixel và byte mỗi hàng. Dưới đây là mã của tôi:Tại sao Byte của hình ảnh của tôi trên mỗi Hàng nhiều hơn Byte của nó trên mỗi Pixel gấp Chiều rộng của nó?
NSLog(@"Image width: %d, Height: %d", CGImageGetWidth(image), CGImageGetHeight(image));
NSLog(@"BPC: %d \ BPP: %d \ ByPR: %d", CGImageGetBitsPerComponent(image), CGImageGetBitsPerPixel(image), CGImageGetBytesPerRow(image));
Dưới đây là kết quả của tôi:
Chiều rộng hình ảnh: 300, Height: 300 (mọi thứ đều như dự kiến) BPC: 8 (8 bit cho mỗi màu ... cho đến nay rất tốt) BPP: 32 (32 = 4 thành phần ARGB * 8 bit cho mỗi màu ... nhận được) ByPR: 1216 (300 px mỗi hàng * 4 byte cho mỗi pixel = 1200 byte mỗi hàng)
Tại sao tôi đăng nhập 1216 byte mỗi hàng và không phải là 1200? Nhân tiện, đây không chỉ là một trò đùa. Khi tôi tạo một video dựa trên những con số cho kích thước bộ đệm, nó hoạt động. Khi tôi tạo ra nó với 1200 byte mỗi hàng, tôi nhận được một số hiệu ứng bí ẩn sai lầm.
Suy nghĩ ?!
Thực ra tôi cũng cần làm điều tương tự. Bạn có thể cho tôi mã chuyển đổi hình ảnh thành mov không? Không sao nếu bạn không thể. Email của tôi là [email protected] Nó sẽ siêu biết ơn. – anivader
Tôi có nhu cầu hơi khác: thận và tiền mới. Số lượng bất kỳ. Sẽ thật tuyệt nếu bạn có thể chia sẻ. Tha-a-anks! –