c# - C# 中 libJPEG 中的 height_in_blocks

标签 c# jpeg libjpeg steganography dct

我需要访问 DCT 系数并应用 LSB

BitMiracle.LibJpeg.Classic.jvirt_array<BitMiracle.LibJpeg.Classic.JBLOCK>[] JBlock = oJpegDecompress.jpeg_read_coefficients();

问题是我无法访问

oJpegDecompress.Comp_info[1].Height_in_blocks

因为它是非公共(public)变量。

oJpegDecompress.Comp_info[1].Width_in_blocks 

可以访问。那么现在如果我没有高度 block 的数量,我如何迭代 JBlock 来操纵系数???

最佳答案

JBlock 中将有前 3 个数组,其中包含彩色图像的可用数据。wblocks0 和 hblocks0 是前 1 个数组的宽度和高度。wblocks1 和 hblocks1 是第二个和第三个数组的宽度和高度。

        int calh = (int)Math.Ceiling(img.Height / 8.0);
        int calw = (int)Math.Ceiling(img.Width / 8.0);
        int wblocks0 = calw % 2 == 0 ? calw : calw + 1;
        int hblocks0 = calh % 2 == 0 ? calh : calh + 1;
        int wblocks1 = calw % 2 == 0 ? calw / 2 : (calw + 1) / 2;
        int hblocks1 = calh % 2 == 0 ? calh / 2 : (calh + 1) / 2;

关于c# - C# 中 libJPEG 中的 height_in_blocks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35475631/

相关文章:

c++ - JPEG - 从文件中读取焦距

python - 在 Mac OS X 上安装支持 JPEG 的 PIL

c# - WPF 获取 UI 线程,或如何从非 UI 线程显示窗口

javascript - 将列表返回到 JSON 到 Angularjs

c# - 如何使用 L2E 执行此查询?

c++ - 构建 Teigha SDK : 'cannot find -lJpeg' 的问题

ios - 如何在 iOS 上将 OpenCV 与我自己的 JPEG/PNG 库一起使用?

c# - 从 foreach 循环手动填充 datagrad

c++ - JPEG: YCrCb <-> RGB 转换精度

c++ - 如何将文件夹图标设置为 jpeg 图像?