任何人都知道Scan0和Stride是什么?我需要一个很好的解释谢谢。c#scan0和stride
回答
你谈论BitmapData
类?如果是这样,文档中的描述是相当清楚,我想:
获取或设置位图中的第一像素数据的地址。这也可以被认为是位图中的第一条扫描线。
换句话说,这可以让您找到要检查或更改的数据 - 甚至可以让您将位图制作成完全不同的数据。
跨距是像素的单行(扫描线)的宽度,向上舍入到一个四字节的边界。如果迈步是肯定的,则位图是自顶向下的。如果步幅是负数,则位图是自下而上的。
如果您想从一行移动到下一行,则需要将步幅添加到当前正在查看的行的地址。行对齐到4个字节的边界,以便各种代码可以更高效地访问它。 (CPU中的各种操作经过优化,可在4字节或8字节的边界上工作。)
我看到了Scan0的用途是什么?它只扫描位图的第一行。 对于迈步,如果我想移动到下一行,imagePointer1 + = 4;是通过使用这个? <<<< – joonshen 2011-04-17 06:47:24
@joonshen:你不会增加4--你通过步伐增加。 – 2011-04-17 07:11:16
我唯一看过Scan and Stride的地方就是在处理图像时。
相关问题... any can explain the function of stride in bitmapdata?
- 1. BitmapData的Scan0或Stride可以在一段时间内改变吗?
- 2. slice/stride by variable?
- 3. DirectShow:IVMRWindowlessControl :: SetVideoPosition stride(?)
- 4. Memset with stride
- 5. 说明这个C#代码:byte * p =(byte *)(void *)Scan0;
- 6. TransformedBitmap对象的'Stride'困境
- 7. 我如何在webgl中使用stride?
- 8. 用于std :: minmax_element的Step/Stride Iterator
- 9. 为什么System.Drawing.Bitmap构造函数中的“stride”是4的倍数?
- 10. 在elementwise add()CUDA内核中,为什么stride blockDim.x * gridDim.x?
- 11. 是MemoryLayout <T> .size/stride/alignment编译时间?
- 12. 在WritableBitmap中。我如何在Silverlight中使用Unlockbit,Stride?
- 13. 使用与原始颜色保存不安全的位图写入透明度?
- 14. 如何以编程方式从颜色数组创建24bpp位图?
- 15. 使用不安全的方法比较两个图像数据
- 16. 使用FFTWLib(C#):使用fftw.dft_r2c_2d()崩溃vshost.exe或主程序如果vshost未运行
- 17. C#和C++库
- 18. C++和Objective-C
- 19. c#和asp.net/c#
- 20. C#绘制图像的实现
- 21. OCR由于字体细节而失败
- 22. 如何在不清除原始图像的情况下从pictureBox1中清除所有绘制的图形?
- 23. Objective-C和MetroWerks C/C++ IDE
- 24. ref和库C++/C#
- 25. 链接C++和c#
- 26. 如何C#和C++
- 27. 混合C和C++
- 28. 绑定C-和C-
- 29. 编译C和C++
- 30. CMake和C++/CLI,C#
关于什么类?他们在哪里定义?在我们能够给出一个好的解释之前,我们需要一个好问题。 – Oded 2011-04-17 06:32:30