【发布时间】:2011-05-22 10:50:15
【问题描述】:
如何使用png++ 读取 png 中的像素颜色值?我在documentation 中看不到任何读取值的方式。我需要单独获取所有值 rgba 并将它们附加到 char 数组中。
【问题讨论】:
如何使用png++ 读取 png 中的像素颜色值?我在documentation 中看不到任何读取值的方式。我需要单独获取所有值 rgba 并将它们附加到 char 数组中。
【问题讨论】:
无法添加评论,所以这里:)
实际上,您应该需要image[Y][X],因为第一个[] 将您带到Y-th 行,然后是该行中的X-th 列。
顺便说一句,我是 PNG++ 的作者。如果您愿意,请随时在邮件列表或我的私人电子邮件或此处询问更具体的问题。 :)
【讨论】:
operator[] 在 C++ 中的工作方式:您只能向它传递一个参数。在 PNG++ 中,图像被认为是行向量,所以 image[N] 得到第 N 行。如果您想以更直观的方式访问像素,请使用get/set_pixel(x,y)。检查它的索引范围确实会受到惩罚。关于对文本 cmets 的支持:当我有足够的空闲时间和动力或有人发送一个非常好的补丁时。 :)
我从未使用过 png++,但通过阅读documentation on pixel,我认为您可以使用image[Y][X] 访问png::image<T> image 的像素(X,Y),然后通过访问@ 访问红色、绿色和蓝色值987654324@等
【讨论】: