Skip to content

Latest commit

ย 

History

History
421 lines (323 loc) ยท 8.27 KB

File metadata and controls

421 lines (323 loc) ยท 8.27 KB

21. ็”ปๅƒ็ทจ้›†

Image ใ‚ฏใƒฉใ‚นใฏ็”ปๅƒใƒ‡ใƒผใ‚ฟใ‚’ๆ‰ฑใ„ใพใ™ใ€‚Texture ใจ็•ฐใชใ‚Šใ€็”ปๅƒใ‚’็”ป้ขใซๆใใ“ใจใฏใงใใพใ›ใ‚“ใŒใ€ใƒ—ใƒญใ‚ฐใƒฉใƒ ใงใƒ”ใ‚ฏใ‚ปใƒซใฎ่‰ฒใ‚’่ชฟในใŸใ‚Šๅค‰ๆ›ดใ—ใŸใ‚Šใงใใพใ™ใ€‚
Image ใฎๅ†…ๅฎนใ‚’็”ป้ขใซๆใใซใฏใ€Image ใ‹ใ‚‰ Texture ใ‚’ไฝœๆˆใ—ใพใ™ใ€‚

็”ปๅƒใ‚’่ชญใฟ่พผใ‚€

็”ปๅƒใ‚’่ชญใฟ่พผใ‚€

# include <Siv3D.hpp>

void Main()
{
	const Image image(L"Example/Windmill.png");

	if (!image)
	{
		return;
	}

	Println(L"็”ปๅƒใฎๅน…: ", image.width);

	Println(L"็”ปๅƒใฎ้ซ˜ใ•: ", image.height);

	WaitKey();
}

็”ปๅƒใ‚’ไฟๅญ˜ใ™ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Image image(L"Example/Windmill.png");

	// PNG
	image.save(L"images/Windmill.png");

	// JPEG
	image.save(L"images/Windmill.jpg");

	// BMP
	image.save(L"images/Windmill.bmp");

	// GIF
	image.save(L"images/Windmill.gif");

	// TIFF
	image.save(L"images/Windmill.tif");

	// JPEG 2000
	image.save(L"images/Windmill.jp2");

	// DDS
	image.save(L"images/Windmill.dds");

	// WebP
	image.save(L"images/Windmill.webp");

	// TGA
	image.save(L"images/Windmill.tga");

	// PPM
	image.save(L"images/Windmill.ppm");
}

็”ปๅƒใ‹ใ‚‰ใƒ†ใ‚ฏใ‚นใƒใƒฃใ‚’ไฝœๆˆใ™ใ‚‹

็”ปๅƒใ‹ใ‚‰ใƒ†ใ‚ฏใ‚นใƒใƒฃใ‚’ไฝœๆˆใ™ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Image image(L"Example/Windmill.png");

	const Texture texture(image);

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

ๆŒ‡ๅฎšใ—ใŸใ‚ตใ‚คใ‚บใฎ็”ปๅƒใ‚’ไฝœใ‚‹

ๆŒ‡ๅฎšใ—ใŸใ‚ตใ‚คใ‚บใฎ็”ปๅƒใ‚’ไฝœใ‚‹

# include <Siv3D.hpp>

void Main()
{
	// ๅน… 320, ้ซ˜ใ• 240, ๅก—ใ‚Šใคใถใ—ใฎ่‰ฒ (20, 50, 200)
	const Image image(320, 240, Color(20, 50, 200));

	const Texture texture(image);

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

้€้Žๆƒ…ๅ ฑใ‚’ๆŒใค็”ปๅƒใ‚’ไฝœๆˆใ™ใ‚‹ 1

้€้Žๆƒ…ๅ ฑใ‚’ๆŒใค็”ปๅƒใ‚’ไฝœๆˆใ™ใ‚‹ 1

# include <Siv3D.hpp>

void Main()
{
	Image(480, 320, Palette::Yellow).save(L"Tutorial-RGB.png");

	// ็ฌฌ 2 ๅผ•ๆ•ฐใฎ็”ปๅƒใฎ r ๆˆๅˆ†ใ‚’ใ€ๆ–ฐใ—ใไฝœใ‚‹็”ปๅƒใฎ a ๆˆๅˆ†ใจใ™ใ‚‹
	const Image image(L"Tutorial-RGB.png", L"Example/Windmill.png");

	const Texture texture(image);

	while (System::Update())
	{
		Rect(100, 100, 200, 200).draw(Palette::Orange);

		texture.draw(Mouse::Pos());
	}
}

้€้Žๆƒ…ๅ ฑใ‚’ๆŒใค็”ปๅƒใ‚’ไฝœๆˆใ™ใ‚‹ 2

้€้Žๆƒ…ๅ ฑใ‚’ๆŒใค็”ปๅƒใ‚’ไฝœๆˆใ™ใ‚‹ 2

# include <Siv3D.hpp>

void Main()
{
	// ็ฌฌ 2 ๅผ•ๆ•ฐใฎ็”ปๅƒใฎ r ๆˆๅˆ†ใ‚’ใ€ๆ–ฐใ—ใไฝœใ‚‹็”ปๅƒใฎ a ๆˆๅˆ†ใจใ™ใ‚‹
	const Image image(Palette::White, L"Example/Windmill.png");

	const Texture texture(image);

	while (System::Update())
	{
		Rect(100, 100, 200, 200).draw(Palette::Orange);

		texture.draw(Mouse::Pos());
	}
}

็”ปๅƒใฎใƒ”ใ‚ฏใ‚ปใƒซใฎ่‰ฒใ‚’ๅ–ๅพ—ใ™ใ‚‹

็”ปๅƒใฎใƒ”ใ‚ฏใ‚ปใƒซใฎ่‰ฒใ‚’ๅ–ๅพ—ใ™ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Image image(L"Example/Windmill.png");

	const Texture texture(image);

	while (System::Update())
	{
		texture.draw();

		const Point pos = Mouse::Pos();

		if (0 <= pos.x && pos.x < image.width
			&& 0 <= pos.y && pos.y < image.height)
		{
			// ใ‚ซใƒผใ‚ฝใƒซใŒใ•ใ—ใฆใ„ใ‚‹ไฝ็ฝฎใฎ่‰ฒใ‚’ๅ–ๅพ—
			const Color pixelColor = image[pos.y][pos.x];

			Circle(400, 400, 50).draw(pixelColor);
		}
	}
}

็”ปๅƒใฎใƒ”ใ‚ฏใ‚ปใƒซใซ่‰ฒใ‚’ๆ›ธใ่พผใ‚€

็”ปๅƒใฎใƒ”ใ‚ฏใ‚ปใƒซใซ่‰ฒใ‚’ๆ›ธใ่พผใ‚€

# include <Siv3D.hpp>

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

	for (int32 y = 0; y < image.height; ++y)
	{
		for (int32 x = 0; x < image.width; ++x)
		{
			image[y][x] = Color(y, x / 2, 200);
		}
	}

	const Texture texture(image);

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

็”ปๅƒใซๅ›ณๅฝขใ‚’ๆ›ธใ่พผใ‚€

็”ปๅƒใซๅ›ณๅฝขใ‚’ๆ›ธใ่พผใ‚€

# include <Siv3D.hpp>

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

	Rect(40, 40, 100, 40).overwrite(image, Palette::Red);

	Circle(200, 100, 80).overwrite(image, Palette::Blue);

	Line({ 100, 200 }, { 300, 50 }).overwrite(image, 5, Palette::Black);

	// ้€้Žใ—ใฆ่‰ฒใ‚’ใƒ–ใƒฌใƒณใƒ‰ใ™ใ‚‹ๅ ดๅˆใฏ write()
	Circle(100, 200, 80).write(image, Color(255, 127, 0, 200));

	const Texture texture(image);

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

็”ปๅƒใฎไธ€้ƒจใ‚’ๅˆ‡ใ‚ŠๆŠœใ

็”ปๅƒใฎไธ€้ƒจใ‚’ๅˆ‡ใ‚ŠๆŠœใ

# include <Siv3D.hpp>

void Main()
{
	// ็”ปๅƒๅ†…ใฎไฝ็ฝฎ (200, 100) ใ‹ใ‚‰ ๅน… 180, ้ซ˜ใ• 190 ใฎ้ ˜ๅŸŸใ‚’ๅˆ‡ใ‚ŠๆŠœใ„ใŸ Image ใ‹ใ‚‰ Texture ใ‚’ไฝœๆˆ
	const Texture texture(Image(L"Example/Windmill.png").clip(200, 100, 180, 190));

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

่ฟ‘ใ„่‰ฒใฎ้ ˜ๅŸŸใ‚’ๅก—ใ‚Šใคใถใ™

่ฟ‘ใ„่‰ฒใฎ้ ˜ๅŸŸใ‚’ๅก—ใ‚Šใคใถใ™

# include <Siv3D.hpp>

void Main()
{
	const Texture texture(
		Image(L"Example/Windmill.png")
		.floodFilled({ 30, 30 }, Palette::Yellow, FloodFillConnectivity::Value8, 50, 50));

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

ใƒขใ‚ถใ‚คใ‚ฏใ‚’ใ‹ใ‘ใ‚‹

ใƒขใ‚ถใ‚คใ‚ฏใ‚’ใ‹ใ‘ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Texture texture(Image(L"Example/Windmill.png").mosaiced(10, 10));

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

ใ‚ฐใƒฌใ‚คใ‚นใ‚ฑใƒผใƒซใซใ™ใ‚‹

ใ‚ฐใƒฌใ‚คใ‚นใ‚ฑใƒผใƒซใซใ™ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Texture texture(Image(L"Example/Windmill.png").grayscaled());

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

ใ‚ปใƒ”ใ‚ข่ชฟใซใ™ใ‚‹

ใ‚ปใƒ”ใ‚ข่ชฟใซใ™ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Texture texture(Image(L"Example/Windmill.png").sepiaed());

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

ใ‚ฌใ‚ฆใ‚นใผใ‹ใ—ใ‚’ใ‹ใ‘ใ‚‹

ใ‚ฌใ‚ฆใ‚นใผใ‹ใ—ใ‚’ใ‹ใ‘ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Texture texture(Image(L"Example/Windmill.png").gaussianBlurred(15, 15));

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

ๆ‹กๆ•ฃใ•ใ›ใ‚‹

ๆ‹กๆ•ฃใ•ใ›ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Texture texture(Image(L"Example/Windmill.png").spreaded(5, 5));

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

ใƒใ‚ฌใƒใ‚ธๅ่ปขใ•ใ›ใ‚‹

ใƒใ‚ฌใƒใ‚ธๅ่ปขใ•ใ›ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Texture texture(Image(L"Example/Windmill.png").negated());

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

ไบŒๅ€คๅŒ–ใ™ใ‚‹

ไบŒๅ€คๅŒ–ใ™ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Texture texture(Image(L"Example/Windmill.png").thresholded(127));

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

็”ปๅƒใ‚’ๅก—ใ‚Šใคใถใ™

็”ปๅƒใ‚’ๅก—ใ‚Šใคใถใ™

# include <Siv3D.hpp>

void Main()
{
	Image image(L"Example/Windmill.png");

	image.fill(Palette::Orange);

	const Texture texture(image);

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

ๆ‹กๅคง็ธฎๅฐใ—ใŸ็”ปๅƒใ‚’ไฝœๆˆใ™ใ‚‹

ๆ‹กๅคง็ธฎๅฐใ—ใŸ็”ปๅƒใ‚’ไฝœๆˆใ™ใ‚‹

# include <Siv3D.hpp>

void Main()
{
	const Image image(L"Example/Windmill.png");

	const Texture texture(image.scaled(400, 400));

	const Texture texture2(image.scaled(0.5));

	while (System::Update())
	{
		texture.draw();

		texture2.draw();
	}
}

โ† ๅ‰ใฎ็ซ ใธๆˆปใ‚‹ใ€€|ใ€€- ็›ฎๆฌก -ใ€€|ใ€€ๆฌกใฎ็ซ ใธ้€ฒใ‚€ โ†’