表示するサンプルコードの言語を指定できます。

画像の機能

空の画像を生成したり、読み込んだ画像を編集したりできます。

空の画像の編集

SS

C++


#include <Altseed.h>

/**
@brief  空の画像を編集するサンプル
*/
int main()
{
    // Altseedを初期化する。
    asd::Engine::Initialize(u"Texture_Basic", 640, 480, asd::EngineOption());

    // 空の画像を生成する。
    std::shared_ptr<asd::Texture2D> texture =
        asd::Engine::GetGraphics()->CreateEmptyTexture2D(256, 256, asd::TextureFormat::R8G8B8A8_UNORM_SRGB);

    // 画像を編集する。
    asd::TextureLockInfomation lockInfo;

    // ロックして編集可能な状態にする。
    if (texture->Lock(&lockInfo))
    {
        for (int32_t y = 0; y < lockInfo.GetSize().Y; y++)
        {
            for (int32_t x = 0; x < lockInfo.GetSize().X; x++)
            {
                auto pixel = &((uint8_t*) lockInfo.GetPixels())[(x + y *  lockInfo.GetSize().X) * lockInfo.GetPitch()];
                pixel[0] = x;
                pixel[1] = y;
                pixel[2] = 0;
                pixel[3] = 255;
            }
        }

        // Unlockして編集結果を適用する。
        texture->Unlock();
    }

    // 画像描画オブジェクトのインスタンスを生成する。
    std::shared_ptr<asd::TextureObject2D> obj = std::make_shared<asd::TextureObject2D>();

    // 描画される画像を設定する。
    obj->SetTexture(texture);

    // 描画位置を指定する。
    obj->SetPosition(asd::Vector2DF(50, 50));

    // 画像描画オブジェクトのインスタンスをエンジンに追加する。
    asd::Engine::AddObject2D(obj);

    // Altseedのウインドウが閉じられていないか確認する。
    while (asd::Engine::DoEvents())
    {
        // Altseedを更新する。
        asd::Engine::Update();
    }

    // Altseedを終了する。
    asd::Engine::Terminate();
}

C#


/// <summary>
/// 空の画像を編集するサンプル
/// </summary>
class Texture_Basic
{
    public string Description
    {
        get { return ""; }
    }
    public string Title
    {
        get { return ""; }
    }
    public string ClassName
    {
        get { return "Texture_Basic"; }
    }

    public unsafe void Run()
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("Texture_Basic", 640, 480, new asd.EngineOption());

        // 画像を読み込む。
        asd.Texture2D texture = asd.Engine.Graphics.CreateEmptyTexture2D(256, 256, asd.TextureFormat.R8G8B8A8_UNORM_SRGB);

        // ロックして編集可能な状態にする。
        asd.TextureLockInfomation lockInfo = new asd.TextureLockInfomation();
        if (texture.Lock(lockInfo))
        {
#if LANG_CS
            // C#のみの高速処理
            for (int y = 0; y < lockInfo.Size.Y; y++)
            {
                for (int x = 0; x < lockInfo.Size.X; x++)
                {
                    var pixel = &((byte*)lockInfo.Pixels)[(x + y * lockInfo.Size.X) * lockInfo.Pitch];
                    pixel[0] = (byte)x;
                    pixel[1] = (byte)y;
                    pixel[2] = 0;
                    pixel[3] = 255;
                }
            }
#else
            System.Console.WriteLine("実装されていません。");
#endif
            // Unlockして編集結果を適用する。
            texture.Unlock();
        }

        // 画像描画オブジェクトのインスタンスを生成する。
        asd.TextureObject2D obj = new asd.TextureObject2D();

        // 描画される画像を設定する。
        obj.Texture = texture;

        // 描画位置を指定する。
        obj.Position = new asd.Vector2DF(50, 50);

        // 画像描画オブジェクトのインスタンスをエンジンに追加する。
        asd.Engine.AddObject2D(obj);

        // Altseedのウインドウが閉じられていないか確認する。
        while (asd.Engine.DoEvents())
        {
            // Altseedを更新する。
            asd.Engine.Update();
        }

        // Altseedの終了処理をする。
        asd.Engine.Terminate();
    }
}

Java

/**
 * 空の画像を編集するサンプル
*/
class Texture_Basic 
{
    public java.lang.String getDescription() {
        return "";
    }
    public java.lang.String getTitle() {
        return "";
    }
    public java.lang.String getClassName() {
        return "Texture_Basic";
    }
    public static void main(String args[])
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("Texture_Basic", 640, 480, new asd.EngineOption());

        // 画像を読み込む。
        asd.Texture2D texture = asd.Engine.getGraphics().CreateEmptyTexture2D(256, 256, asd.TextureFormat.R8G8B8A8_UNORM_SRGB);

        // ロックして編集可能な状態にする。
        asd.TextureLockInfomation lockInfo = new asd.TextureLockInfomation();
        if(texture.Lock(lockInfo))
        {














            System.out.println("実装されていません。");

            // Unlockして編集結果を適用する。
            texture.Unlock();
        }

        // 画像描画オブジェクトのインスタンスを生成する。
        asd.TextureObject2D obj = new asd.TextureObject2D();

        // 描画される画像を設定する。
        obj.setTexture(texture);

        // 描画位置を指定する。
        obj.setPosition(new asd.Vector2DF(50, 50));

        // 画像描画オブジェクトのインスタンスをエンジンに追加する。
        asd.Engine.AddObject2D(obj);

        // Altseedのウインドウが閉じられていないか確認する。
        while(asd.Engine.DoEvents())
        {
            // Altseedを更新する。
            asd.Engine.Update();
        }


        // Altseedの終了処理をする。
        asd.Engine.Terminate();
    }
}

読み込んだ画像の編集

SS

C++


#include <Altseed.h>

/**
@brief  読み込まれた画像を編集するサンプル
*/
int main()
{
    // Altseedを初期化する。
    asd::Engine::Initialize(u"Texture_Edit", 640, 480, asd::EngineOption());

    // 画像を編集可能な状態で読み込む。
    std::shared_ptr<asd::Texture2D> texture =
        asd::Engine::GetGraphics()->CreateEditableTexture2D(u"Data/Texture/Picture1.png");

    // 画像を編集する。
    asd::TextureLockInfomation lockInfo;

    // ロックして編集可能な状態にする。
    if (texture->Lock(&lockInfo))
    {
        for (int32_t y = 0; y < lockInfo.GetSize().Y; y++)
        {
            for (int32_t x = 0; x < lockInfo.GetSize().X; x++)
            {
                auto pixel = &((uint8_t*) lockInfo.GetPixels())[(x + y *  lockInfo.GetSize().X) * lockInfo.GetPitch()];
                pixel[1] = y / 2;
            }
        }

        // Unlockして編集結果を適用する。
        texture->Unlock();
    }

    // 画像描画オブジェクトのインスタンスを生成する。
    std::shared_ptr<asd::TextureObject2D> obj = std::make_shared<asd::TextureObject2D>();

    // 描画される画像を設定する。
    obj->SetTexture(texture);

    // 描画位置を指定する。
    obj->SetPosition(asd::Vector2DF(50, 50));

    // 画像描画オブジェクトのインスタンスをエンジンに追加する。
    asd::Engine::AddObject2D(obj);

    // Altseedのウインドウが閉じられていないか確認する。
    while (asd::Engine::DoEvents())
    {
        // Altseedを更新する。
        asd::Engine::Update();
    }

    // Altseedを終了する。
    asd::Engine::Terminate();
}

C#


/// <summary>
/// 読み込まれた画像を編集するサンプル
/// </summary>
class Texture_Edit
{
    public string Description
    {
        get { return ""; }
    }
    public string Title
    {
        get { return ""; }
    }
    public string ClassName
    {
        get { return "Texture_Edit"; }
    }

    public unsafe void Run()
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("Texture_Edit", 640, 480, new asd.EngineOption());

        // 画像を編集可能な状態で読み込む。
        asd.Texture2D texture = asd.Engine.Graphics.CreateEditableTexture2D("Data/Texture/Picture1.png");

        // ロックして編集可能な状態にする。
        asd.TextureLockInfomation lockInfo = new asd.TextureLockInfomation();
        if (texture.Lock(lockInfo))
        {
#if LANG_CS
            // C#のみの高速処理
            for (int y = 0; y < lockInfo.Size.Y; y++)
            {
                for (int x = 0; x < lockInfo.Size.X; x++)
                {
                    var pixel = &((byte*)lockInfo.Pixels)[(x + y * lockInfo.Size.X) * lockInfo.Pitch];
                    pixel[1] = (byte)(y / 2);
                }
            }
#else
            System.Console.WriteLine("実装されていません。");
#endif
            // Unlockして編集結果を適用する。
            texture.Unlock();
        }


        // 画像描画オブジェクトのインスタンスを生成する。
        asd.TextureObject2D obj = new asd.TextureObject2D();

        // 描画される画像を設定する。
        obj.Texture = texture;

        // 描画位置を指定する。
        obj.Position = new asd.Vector2DF(50, 50);

        // 画像描画オブジェクトのインスタンスをエンジンに追加する。
        asd.Engine.AddObject2D(obj);

        // Altseedのウインドウが閉じられていないか確認する。
        while (asd.Engine.DoEvents())
        {
            // Altseedを更新する。
            asd.Engine.Update();
        }

        // Altseedの終了処理をする。
        asd.Engine.Terminate();
    }
}

Java

/**
 * 読み込まれた画像を編集するサンプル
*/
class Texture_Edit 
{
    public java.lang.String getDescription() {
        return "";
    }
    public java.lang.String getTitle() {
        return "";
    }
    public java.lang.String getClassName() {
        return "Texture_Edit";
    }
    public static void main(String args[])
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("Texture_Edit", 640, 480, new asd.EngineOption());

        // 画像を編集可能な状態で読み込む。
        asd.Texture2D texture = asd.Engine.getGraphics().CreateEditableTexture2D("Data/Texture/Picture1.png");

        // ロックして編集可能な状態にする。
        asd.TextureLockInfomation lockInfo = new asd.TextureLockInfomation();
        if(texture.Lock(lockInfo))
        {











            System.out.println("実装されていません。");

            // Unlockして編集結果を適用する。
            texture.Unlock();
        }


        // 画像描画オブジェクトのインスタンスを生成する。
        asd.TextureObject2D obj = new asd.TextureObject2D();

        // 描画される画像を設定する。
        obj.setTexture(texture);

        // 描画位置を指定する。
        obj.setPosition(new asd.Vector2DF(50, 50));

        // 画像描画オブジェクトのインスタンスをエンジンに追加する。
        asd.Engine.AddObject2D(obj);

        // Altseedのウインドウが閉じられていないか確認する。
        while(asd.Engine.DoEvents())
        {
            // Altseedを更新する。
            asd.Engine.Update();
        }


        // Altseedの終了処理をする。
        asd.Engine.Terminate();
    }
}