Android ndk Android本机窗口渲染-如何调整步幅?

Android ndk Android本机窗口渲染-如何调整步幅?,android-ndk,java-native-interface,Android Ndk,Java Native Interface,我试图从本机代码中画出一个曲面,但不明白为什么对于RGB 565格式,ANativeWindow_缓冲区中的跨步不是“宽度*2” 我的窗口是533x732,格式是RGB565。步幅恢复为544 我不知道步幅如何可以是544,也不知道如何调整RGB565数据的缓冲区来解释它 这是一个已经回答过的类似问题,但这家伙正在使用我没有使用的Skia:由于硬件限制,步幅为16的倍数(或其他2的幂)是相当常见的。这就是分别指定步幅的原因 如果可以将源缓冲区的跨距声明为544,则可以直接复制。好的,我看到这里的

我试图从本机代码中画出一个曲面,但不明白为什么对于RGB 565格式,ANativeWindow_缓冲区中的跨步不是“宽度*2”

我的窗口是533x732,格式是RGB565。步幅恢复为544

我不知道步幅如何可以是544,也不知道如何调整RGB565数据的缓冲区来解释它


这是一个已经回答过的类似问题,但这家伙正在使用我没有使用的Skia:

由于硬件限制,步幅为16的倍数(或其他2的幂)是相当常见的。这就是分别指定步幅的原因


如果可以将源缓冲区的跨距声明为544,则可以直接复制。

好的,我看到这里的“跨距”是以像素为单位的,而不是以字节为单位的。不过,在这种情况下,我希望stride是533,而不是544。因此,现在我不得不浪费CPU周期,将RGB数据复制到缓冲区,并按预期步幅填充最后11个像素。现在图像显示正确,但我仍然不明白为什么要迈步!=宽度。