<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>いちばんやさしいゲームの作り方 &#187; ラスターオペレーション</title>
	<atom:link href="http://www.game-create.com/archives/tag/%e3%83%a9%e3%82%b9%e3%82%bf%e3%83%bc%e3%82%aa%e3%83%9a%e3%83%ac%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3/feed" rel="self" type="application/rss+xml" />
	<link>http://www.game-create.com</link>
	<description>文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ</description>
	<lastBuildDate>Tue, 08 Jun 2010 01:28:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>背景色を透過して画像をブロック転送する</title>
		<link>http://www.game-create.com/archives/735</link>
		<comments>http://www.game-create.com/archives/735#comments</comments>
		<pubDate>Sat, 20 Sep 2008 09:40:47 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[GDI]]></category>
		<category><![CDATA[Study::Bitmap]]></category>
		<category><![CDATA[ラスターイメージ]]></category>
		<category><![CDATA[ラスターオペレーション]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=735</guid>
		<description><![CDATA[背景色を透過して画像をブロック転送するためには、ラスターオペレーションを使います。

まず、普通に画像をブロック転送すると次のようになります。

背景色であるピンク色までもがコピーされているのがわかります。これは多くの場 [...]]]></description>
			<content:encoded><![CDATA[<p>背景色を透過して画像をブロック転送するためには、ラスターオペレーションを使います。</p>
<p><span id="more-735"></span></p>
<p>まず、普通に画像をブロック転送すると次のようになります。</p>
<p><img src="http://www.game-create.com/wp-content/uploads/2008/09/normal_blt.gif" alt="" title="通常のブロック転送" width="192" height="64" class="alignnone size-full wp-image-736" /></p>
<p>背景色であるピンク色までもがコピーされているのがわかります。これは多くの場合、意図した結果ではないはずです。背景色のピンクを除外してコピーするためには次の手順を踏みます。</p>
<p>まず、背景を白、本体を黒とする画像を作ります。これをマスク画像と呼びます。マスク画像が用意できたらラスターオペレーションを使って背景へ AND 転送し、本体の形に背景をくりぬきます。 AND 転送すると黒に近い色が採用されます。この特性を利用して本体の形に穴を開けるというわけです。</p>
<p><img src="http://www.game-create.com/wp-content/uploads/2008/09/trans_blt_1.gif" alt="" title="背景色を透過するための手順１" width="192" height="64" class="alignnone size-full wp-image-737" /></p>
<p>背景がくりぬけたら、今度は、そのくりぬいた穴に本体を流し込みます。くりぬいた穴に本体を流し込むためには、背景を黒とする画像と背景とを OR 転送します。 OR 転送すると双方の黒ではない色が採用されます。</p>
<p><img src="http://www.game-create.com/wp-content/uploads/2008/09/trans_blt_2.gif" alt="" title="背景色を透過するための手順２" width="192" height="64" class="alignnone size-full wp-image-738" /></p>
<p>見事、目的を達成することができました。</p>
<p>なお、 Study::Bitmap ではこのマスク画像を自動的に生成する機能があります。便利ですね。今後も使っていきましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/735/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ラスタオペレーションがよくわからない時の覚え方</title>
		<link>http://www.game-create.com/archives/383</link>
		<comments>http://www.game-create.com/archives/383#comments</comments>
		<pubDate>Wed, 04 Jun 2008 15:30:16 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[BMP]]></category>
		<category><![CDATA[ラスターオペレーション]]></category>
		<category><![CDATA[画像]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=383</guid>
		<description><![CDATA[Windows プログラミングでビットマップに抜き色を指定するとき、 BitBlt() 関数のラスタオペレーションを使うのですが、これがよくわからない人向けの覚え方です。

まず、ビットマップに抜き色を指定するために、描 [...]]]></description>
			<content:encoded><![CDATA[<p>Windows プログラミングでビットマップに抜き色を指定するとき、 BitBlt() 関数のラスタオペレーションを使うのですが、これがよくわからない人向けの覚え方です。</p>
<p><span id="more-383"></span></p>
<p>まず、ビットマップに抜き色を指定するために、描画先をマスク画像で OR 演算して、その後に本来の画像で AND 演算するという手順を踏むのですが、最初はどうしてもイメージしづらいと思います（私もそうでした）。</p>
<p>ラスタオペレーションを使った抜き色を考えるときは、次のことを頭に入れておくとスムーズに理解できます。</p>
<ul>
<li>ふたつの色を OR 演算すると白に近い色が勝つ。つまり白は最強。</li>
<li>ふたつの色を AND 演算すると黒に近い色が勝つ。つまり黒は最強。</li>
</ul>
<p>ちゃんと理屈はあるんですよ。でも、こうやって覚えておいた方が簡単だと思います。この知識を前提にもう一度ラスタオペレーションの解説を読んでみてください。そのうちメルマガでも取り上げます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/383/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

