- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个代码,可以将纯 BGR 数据转换为 sf::Texture。 “ifs”打开 ifstream 到包含 BGR 颜色字节三元组的文件(省略源文件的标题)。宽度和高度 100% 有效。在我的示例图像中是 800x600。
struct h3pcx_color_bgr { uint8_t b, uint8_t g, uint8_t r };
sf::Uint8* pixels = new sf::Uint8[width * height * 4];
h3pcx_color_bgr* fileData = new h3pcx_color_bgr[width*height];
ifs.read((char*)fileData, width * height * sizeof(h3pcx_color_bgr));
for (uint32_t i = 0; i < width*height; ++i) {
pixels[i * 4] = fileData[i].r;
pixels[i * 4 + 1] = fileData[i].g;
pixels[i * 4 + 2] = fileData[i].b;
pixels[i * 4 + 3] = 255;
}
这段代码运行良好,问题接踵而至。绘制纹理后:
m_tex.update(pixels); //sf::Texture
m_sprite.setTexture(m_tex); //sf::Sprite
m_window->draw(m_sprite); // m_window is sf::RenderWindow
我在下图中有这条烦人的灰线: 我做了什么:
下面的代码片段(700 * 595 在“灰色区域”内)显示,像素和文件数据都包含有效数据(不是灰色,它看起来只是未初始化的内存)。
auto f = fileData[700 * 595]; // 32, 31, 38
auto r = pixels[700 * 595 * 4]; // 38
auto g = pixels[700 * 595 * 4 + 1]; // 31
auto b = pixels[700 * 595 * 4 + 2]; // 32
“灰色”颜色为 204, 204, 204。
如果我们这样做:
img.create(width, height, pixels); // img is sf::Image
img.setPixel(700, 595, sf::Color::Blue);
然后将其转换为sf::Texture,并进行绘制。结果将是带有灰色区域的相同图像,但像素 700、585 将为蓝色!
如果我从“灰色区域”获取颜色值:
auto clr = img.getPixel(700,600); //sf::Color(204,204,204)
所以,看起来像素数量有一些硬性限制(???)错误。如果有人能指出 - 为什么会出现这条灰线,我将不胜感激。
最佳答案
在代码中:
auto f = fileData[700 * 595];
您正在访问像素 500、520。要访问像素 700、595,您必须使用:
auto f = fileData[700 + 595 * 800]; // x + y * width
我会把它写成评论,但我缺乏必要的声誉。
关于c++ - 如果我从 PixelPtr 创建它,SFML 会将部分纹理留空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31123714/
我一直在修改VS 2010模板。到目前为止,我已经可以从模板创建vb.net类库项目。 但是,一件小事困扰着我。 在我的项目模板中,默认程序集名称与默认文件名相同。我将根 namespace 留为空白
我有一个 NSTextField,里面有一个 NSNumberFormatter。我见过一些文本字段,如果你将它们留空,它只会将之前的数字放回其中。我很好奇 Interface Builder 中是否
sql问题 我有这样的表格: id | Animal | country | gender | qty 1 | cow | USA | male | 6 2 | cow |
我正在尝试制作一个包含内容页面的网站。 我使用 go to chapter 1作为内容部分,当它点击时,它会处理 Chapter 1 这很好用,但有 1 个问题(总有一个问题)...我想让它看起来像维
我正在制作一个包含 4 个主视图的应用。我希望所有这些都保留在顶部的 LIST 菜单中(现在没问题)。 使用 Fragments,我可以在不执行其他 Activity 的情况下更改 View ,但是由
我正在定义一个 Form 类,它有一个文件字段并且不需要向它添加文件......但是每当我不提供文件时,表单都是无效的......所以有什么方法可以让我可以让用户选择是否添加文件吗??? 最佳答案 是
所以我尝试了之前帖子中关于这个问题的一些方法,但似乎没有一个对我有用(毫无疑问是用户错误)。 基本上,如果编辑文本留空,我的计算按钮就会崩溃。我需要发生的是,如果留空,则 edittext 的值为 0
我正在尝试提取 BufferedImage 的 10 px 方形部分并将它们添加到新的 BufferedImage 中,与 this drawImage tutorial 中显示的困惑示例非常相似。但
所以我正在使用 Postgres 和 Hibernate 4.2.2 以及这样的实体 @Entity(name = "Users") @Check(constraints = "email ~* '^
我正在尝试将列名为“邮政编码”、“2010 年人口”、“Land-Sq-Mi”和“每平方英里密度”的 CSV 文件导入我的测试表,该表名为 derp--这就是我在开头使用 drop 语句的原因,这样我
我正在尝试使用 usemin 插件来缩小并创建我的可分发文件。这是我的 Gruntfile.js: module.exports = function(grunt) { require('matc
在我的 HTML 中我有一个 ,并在 内我需要不同的文本行之间的垂直间距。我通过使用 实现了这一点具有对应于我想要的间距量的 CSS 类的元素。 例如,对于 5px 的间隙,我使用 与 heig
我有一个函数触发两个观察者 - keyboardWillShowNotification 和 KeyboardWillHideNotification,我基本上做的是在编辑时重置文本字段,模拟 的效果
这是一个非常奇怪的问题: Screenshoot 我确保图像大小相等,并且 Chrome 可以正确显示。为什么不是 IE 和 Firefox?对此有什么解决方案吗? 最佳答案 一个 li 的高度与另一
我是一名优秀的程序员,十分优秀!