- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这可能不是特定于 SO 的,但似乎缺乏关于太阳栅格标准的信息。 (Even JWZ is frustrated by this!)
简介:Sun raster standard表示像素行在末尾有填充,使得一行中的位数是 16 的因数(即偶数字节)。例如,如果您有一个 7 像素宽的 24 位图像,一行通常需要 7 * 3 = 21 个字节,但太阳光栅会将其填充为 22 个字节,因此位数可以被 16 整除。代码下面针对任意宽度的 24 位图像实现了这一点:
row_byte_length = num_cols * 3;
row_byte_length += width_in_bytes % 2;
这是我的问题:对于 24 位图像,Imagemagick 和 Gimp 都遵循这个规则,但是对于 32 位图像,它做了一些我不明白的奇怪事情。由于位深度给出 4 字节像素,任何图像宽度每行将占用偶数个字节,这始终符合“16 位对齐”规则。但是当他们计算行长度时,他们为奇数宽度的图像添加一个额外的字节,使行长度为奇数(即行的位数不能被 16 整除)。下面的代码描述了他们对 32 位图像所做的工作:
row_byte_length = num_cols * 4 + num_cols % 2;
添加 1 似乎违反了 sun 格式指定的“16 位对齐”规则,并且没有明显的目的。但是,我确定如果 Gimp 和 Imagemagick 这样做,我一定是误读了太阳光栅规范。
是否有任何 Sun 光栅专家知道为什么这样做?
编辑我的错误,Gimp 最多只能输出 24 位 Sun 光栅。看起来这只是一个 Imagemagick 问题,所以可能是一个错误。我将其标记为关闭;最好在 ImageMagick 论坛上进行讨论。
最佳答案
我会说 Gimp 和 ImageMagick 中的图像加载代码有一个错误。就这么简单。
请记住,SUN-Raster 格式并未得到广泛使用。您很可能是最早尝试使用此格式的人之一,发现它无法按预期工作并且没有忽略它。
如果规范。说的是:无论宽度如何,存储的扫描线都四舍五入到 16 位的倍数,这样就没有太多的解释空间了。
关于c++ - 太阳光栅图像 : Why 1 byte row padding when width is odd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1753029/
query("SELECT id, look, username, motto FROM users WHERE rank = '7'"); if($query->num_rows > 0):
这个问题在这里已经有了答案: Why does integer division yield a float instead of another integer? (4 个答案) 关闭 1 年前。
面试中被问到的问题: 给定一个数组。任务是排列数组: 奇数元素占据奇数位置,偶数元素占据偶数位置。 - 元素的顺序必须保持不变。 考虑从零开始的索引。 按条件打印后,若有剩余,则原样打印剩余元素。 例
首先,抱歉英语不是我的第一语言。 *(偶数和奇数是根据索引) 我想在移动 View 中实现此表。 我尝试过的 Content 1 Head Content 2
我有一个包含多行的表格 - 我为每一行分配了一个悬停功能。如果所选的 TR 是奇数还是偶数,我想在悬停函数中找出什么。 我使用了这段代码: alert(tr.is(":odd")); 不幸的是,它不起
我有一个奇怪的。我无法使用以下内容创建表: 数据库中已经存在表Users,只需添加UserTimeZones,但会失败。 CREATE TABLE `Users` ( `AccessFailed
我们在类里面学习数组,我被分配了这个编程项目。到目前为止,我已经编写了下面的代码,但我对如何让它正常工作感到困惑。我应该为我的代码使用带有 System.out.println 语句的 for 循环。
但是,如果 67 在原始数组中出现两次,它也需要在新数组中出现两次。 我试图解决this coding challenge通过创建频率图,然后将具有偶数值的键插入最终数组: function oddO
在我的 C++ 中学习复制构造函数等的使用。我们得到了一个我们要完成的程序模板,但是我的输出在我的输出流中抛出了时髦的 asci 字符。 这是我的主要类(class): #include using
我的主要问题是设置 JFrame 时的以下代码: public Frame(){ JPanel panel = new JPanel(); add(panel); panel.setPre
我正在开发一个 iOS 应用程序,我的 AVQueuePlayer 导致了问题。播放时出现此错误: RTCReporting: resolve from https://qtpartners.appl
我正在开发一个 3 选项卡的 iPhone 应用程序,我希望每个选项卡的 View 看起来共享相同的 map 。所以目前,我只是想弄清楚当单击新选项卡时如何重置每个 View 的 MKMapView
我正在尝试将文本渲染为非矩形的形状。以下代码在添加矩形路径时有效,但在添加椭圆路径时无效。最终,我想绘制任何路径(L 形等),有人对此有运气吗? -(void)drawRect:(CGRect)rec
这个问题在这里已经有了答案: Can I combine :nth-child() or :nth-of-type() with an arbitrary selector? (8 个答案) 关闭
鉴于我只想选择频率,我正在尝试计算逆 FFT。以下是我进行 FFT 的方法: final double[] points = reader.readPoints(); final DoubleFFT_
我是 scheme 的初学者,有人可以给我一些关于如何获取“列表中奇数位置的元素”的想法吗?所以 ( A B C D G ) 返回 ( G C A)。我得到了相反的列表,我现在需要拉出所有其他数字。请
我试图让底部图表的宽度与月份的长度成正比。 但是,我最终得到了 我有 2 层图表,第 1 层有一个更大的图,占据了一整行,另一个有 12 个图,占据了整个第二行。 对于第二行图,我希望它们的宽度与月份
我对递归概念有一点困难。 给定一个具有整数值的 LinkedList L1 = (2->1->4->6->3) L2= (1->9->6->3) 该函数应从整数 N 开始的链表中删除奇数,并返回对新
我有一个动态生成的 div 列表,并且我有这个脚本来制作交替背景颜色 - 为了 IE。 .box { height:30px; width:100px; background-color:#fff;
我有一个 DoubleEditor,它是根据从网上获取的 Integer Editor 进行修改的。我使用它来验证在 JXTable 单元格中输入的 double 值,该值旨在获取 0.00 到 10
我是一名优秀的程序员,十分优秀!