Konwertuję obrazy do pliku MOV, i przydarzyło mi się coś interesującego. Zalogowałem moje bity na komponent koloru, bity na piksel i bajty na wiersz. Oto mój kod:Dlaczego liczba bajtów mojego obrazu w wierszu jest większa niż liczba bajtów na piksel razy większa od jego szerokości?
NSLog(@"Image width: %d, Height: %d", CGImageGetWidth(image), CGImageGetHeight(image));
NSLog(@"BPC: %d \ BPP: %d \ ByPR: %d", CGImageGetBitsPerComponent(image), CGImageGetBitsPerPixel(image), CGImageGetBytesPerRow(image));
oto moje wyjście:
Obraz Szerokość: 300, Wysokość: 300 (wszystko jako oczekiwany) BPC: 8 (8 bitów na kolor ... do tej pory tak dobrze) BPP: 32 (32 = 4 komponenty ARGB * 8 bitów na kolor ... rozumiem) ByPR: 1216 (300 pikseli na wiersz * 4 bajty na piksel = 1200 bajtów na wiersz)
Dlaczego jestem zalogowany 1216 bajtów w każdym rzędzie, a nie 1200? Przy okazji, nie jest to tylko przypadek. Kiedy tworzę wideo oparte na tych liczbach dla rozmiarów buforów, to działa. Kiedy tworzę go z 1200 bajtami na wiersz, otrzymuję pomieszany efekt aliasingu.
Myśli ?!
Właściwie to muszę zrobić to samo. Czy możesz dać mi kod, który zamienia obrazy na mov? W porządku, jeśli nie możesz. Mój e-mail to [email protected] Byłoby to bardzo wdzięczne. – anivader
Mam trochę inne potrzeby: nowa nerka i pieniądze. Każda ilość. Byłoby fajnie, gdybyś mógł się podzielić. Tha-a-anks! –