什麼和爲什麼開發商在此行中添加16的十六進制值,然後用按位運算,隨後通過一個NOT:用位圖行寬度奇怪的按位操作,這是什麼意思? (爲什麼)
size_t bytesPerRow = ((width * 4) + 0x0000000F) & ~0x0000000F;
他評論說,「對準16字節是好的」 , 他什麼意思?
- (CGContextRef)createBitmapContext {
CGRect boundingBox = CGPathGetBoundingBox(_mShape);
size_t width = CGRectGetWidth(boundingBox);
size_t height = CGRectGetHeight(boundingBox);
size_t bitsPerComponent = 8;
size_t bytesPerRow = ((width * 4) + 0x0000000F) & ~0x0000000F; // 16 byte aligned is good
所以你在說0xFFFFFF0是用來表示行結束? –
當使用另一個數字時,它會將4個LSB置零,這將使其成爲16的倍數並且在一個平坦的邊界上。 – zaph