画像のパレット設定機能
紙袋  2014/11/13(Thu) 17:47
Siv3D使わせてもらっています。

さっそく質問なのですが、
Siv3Dには、画像に対してドット単位でアクセスして、
色を変更した新たな画像を生成する機能、方法は現在あるのでしょうか?
(DxライブラリにあるSetPaletteSoftImage関数のような機能)

作成している作品の中で、所謂ゲームにあるような2Pカラーのように画像の色のみを変更したいのですが、
それを行う方法が、Siv3Dでどのようにすればいいのか分からないので質問させていただきました。

よろしくお願いします。
Reputeless  2014/11/13(Thu) 20:36
画像にピクセル単位でアクセスするには Image を使います。

# include <Siv3D.hpp>

void Main()
{
Image image(200, 200, Palette::White);

for (int y = 0; y < image.height; ++y)
{
for (int x = 0; x < image.width; ++x)
{
image[y][x] = Color(x, y, 255);
}
}

const Texture texture(image);

while (System::Update())
{
texture.draw(Mouse::Pos());
}
}

2P カラーを簡単に作りたい場合、白い Texture に色を付けて描画する方法もあります。


# include <Siv3D.hpp>

void Main()
{
const Texture texture(L"Example/Particle.png");

while (System::Update())
{
texture.draw(100, 100, Color(255, 0, 0));

texture.draw(200, 100, Color(0, 255, 0));

texture.draw(300, 100, Color(0, 0, 255));
}
}
紙袋  2014/11/14(Fri) 15:34
書いていただいたプログラムを、
自分の持っている画像に差し替えて書いてみたら望んだ通りの結果が出ました。

ありがとうございました。
Creaddy  2023/05/06(Sat) 13:29
 スーパーコピー 代引き,ヴィトン財布代引き,ヴィトン財布 人気,ヴィトン財布 激安,モノグラム 財布,マルチカラー 財布,ルイヴィトン財布新作,ルイヴィトン バッグ 新作,ルイヴィトン スーパーコピー 即日発送ルイヴィトン スーパーコピー 専門店ルイヴィトン スーパーコピー バッグルイヴィトン スーパーコピー }}}}}} 
https://www.sakurago.net/product/list-229.html

- WEB PATIO -