我有一个BufferedImage i,我想从包含alpha值的某个像素中获取Color.使用和坐标识别像素.image xy
这是我试过的:
Color c = new Color(i.getRGB(x, y));
Run Code Online (Sandbox Code Playgroud)
出于某种原因,新的颜色对象包含正确的RGB,但alpha会丢失.
我究竟做错了什么?
提前致谢
我有一个BuferredImage和一个boolean [] []数组.我想将数组设置为true,其中图像是完全透明的.
就像是:
for(int x = 0; x < width; x++) {
for(int y = 0; y < height; y++) {
alphaArray[x][y] = bufferedImage.getAlpha(x, y) == 0;
}
}
Run Code Online (Sandbox Code Playgroud)
但getAlpha(x,y)方法不存在,我找不到任何我可以使用的方法.有一个getRGB(x,y)方法,但我不确定它是否包含alpha值或如何提取它.
谁能帮我?谢谢!
我正在运行一个 PHP 脚本来将所有对我的站点的请求记录在 MySQL 数据库中。例如,我网站上的一些脚本还修改Content-Type用于输出图像的标题。header("Content-Type: image/png");我也在尝试记录这个内容类型。如何获取包含 Content-Type 的字符串变量?
我注意到,当我在Visual Studio中创建一个新的C++类时,它会写下来Foo(void)并~Foo(void)作为构造函数和析构函数模板而不是Foo()和~Foo().但是,这两个版本似乎都有效.两者之间是否存在差异,或者根本不使用哪个版本?
我正在用C++创建一个2D游戏,它使用了由瓷砖制成的等级.世界级具有add(WorldObject* o)可以接受瓦片或诸如敌人的实体的功能.这个Tile和Entity类都来自WorldObject.在每种情况下,都应将对象添加到entities列表中; 但如果它是一个图块,它也应该添加到tiles列表中.
World.h
class World {
private:
list<WorldObject*> content;
list<Tile*> tiles;
public:
void add(WorldObject*);
}
Run Code Online (Sandbox Code Playgroud)
World.cpp
void World::add(WorldObject* o) {
content.push_back(o);
if(*o instanceof Tile) //What do I need to put here?
tiles.push_back(o);
}
Run Code Online (Sandbox Code Playgroud)
如何检查对象在C++中是否具有特定类型?这与类型转换和虚函数以及类似的东西无关,因为我不想在此时调用对象的函数; 如果它有某种类型,我只需要将它添加到一个单独的列表中.在Java中,我可以做到if(instance instanceof Class).我怎么能用C++做到这一点?
c++ ×2
java ×2
alpha ×1
colors ×1
graphics ×1
http-headers ×1
inheritance ×1
instanceof ×1
logging ×1
php ×1
rgb ×1