<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>あり &#187; ImageIO</title>
	<atom:link href="http://blog.4sure.jp/yokoshima/tag/imageio/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.4sure.jp/yokoshima</link>
	<description>日常を語る普通の人のブログ</description>
	<lastBuildDate>Tue, 24 Aug 2010 11:49:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.4sure.jp/yokoshima/tag/imageio/feed/" />
		<item>
		<title>gif画像のリサイズ</title>
		<link>http://blog.4sure.jp/yokoshima/2009/06/30/gif%e7%94%bb%e5%83%8f%e3%81%ae%e3%83%aa%e3%82%b5%e3%82%a4%e3%82%ba/</link>
		<comments>http://blog.4sure.jp/yokoshima/2009/06/30/gif%e7%94%bb%e5%83%8f%e3%81%ae%e3%83%aa%e3%82%b5%e3%82%a4%e3%82%ba/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 14:40:33 +0000</pubDate>
		<dc:creator>yokoshima</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[gif]]></category>
		<category><![CDATA[Graphic2D]]></category>
		<category><![CDATA[ImageIO]]></category>
		<category><![CDATA[透過]]></category>

		<guid isPermaLink="false">http://blog.4sure.jp/yokoshima/?p=456</guid>
		<description><![CDATA[透過色のあるgif画像の出力
で、透過色付きgif画像の出力は出来たが、出力したgifファイルをリサイズする必要が出てきました。
これを実現するには、アフィン変換（アフィン写像参照）という考え方を使って行うらしい。
アフィーンというかギャフンという感じだ。
実装はAffineTransformOpを使って元イメージをフィルタさせるらしい。

このクラスは、アフィン変換を使用して、ソースのイメージまたは Raster の 2 次元座標からデスティネーションのイメージまたは Raster の 2 次元座標への線形マッピングを実行します。使用される補間のタイプは、コンストラクタを介して、RenderingHints オブジェクトまたはこのクラスで定義されている整数型補間タイプのうちの 1 つによって指定されます。

それにしてもいつもすごく分かりにくい説明ですね。
ちなみに、java.awt.imageパッケージのxxxxOpというクラスは、操作対象があって、その対象に対しての操作が出来るモノらしいです。
AffineTransformOpは、文字通りアフィン変換を対象に対して行うものです。
アフィン変換にはいくつか種類があって、リサイズということは拡大縮小（スケーリング）なので、その内容を指定して
AffineTransformを引数として
AffineTransformOpに渡します。
AffineTransformは、スケーリング変換の場合AffineTransform#getScaleInstanceで
取得できますが、この引数はリサイズ後のサイズではなく、元画像とリサイズ後画像の比率（リサイズ後画像/元画像）を指定します。

	//比率を出す
	double resizeWidthRatio = &#40;double&#41;resizeWidth / &#40;double&#41;src.getWidth&#40;&#41;;
	double resizeHeightRatio = &#40;double&#41;resizeHeight / &#40;double&#41;src.getHeight&#40;&#41;;
&#160;
	AffineTransform at = AffineTransform.getScaleInstance&#40;resizeWidthRatio, resizeHeightRatio&#41;;
	AffineTransformOp atOp = new AffineTransformOp&#40;at, AffineTransformOp.TYPE_BICUBIC&#41;;

このAffineTransformOpの第二引数には以下の3つのどれかを指定します。


TYPE_BICUBIC


TYPE_BILINEAR


TYPE_NEAREST_NEIGHBOR


バイキュービック法によると、TYPE_BICUBICを選択するのが画質が良さそう。
しかし、これでgifファイルを書き込みしても透過されてくれないので、自力でやる必要がある。
記事が埋もれそうなので次回に。




]]></description>
			<content:encoded><![CDATA[<p><a>透過色のあるgif画像の出力</a><br />
で、透過色付きgif画像の出力は出来たが、出力したgifファイルをリサイズする必要が出てきました。</p>
<p>これを実現するには、アフィン変換（<a href="http://ja.wikipedia.org/wiki/アフィン写像">アフィン写像</a>参照）という考え方を使って行うらしい。<br />
アフィーンというかギャフンという感じだ。</p>
<p>実装は<a href="http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/awt/image/AffineTransformOp.html">AffineTransformOp</a>を使って元イメージをフィルタさせるらしい。</p>
<blockquote><p>
このクラスは、アフィン変換を使用して、ソースのイメージまたは Raster の 2 次元座標からデスティネーションのイメージまたは Raster の 2 次元座標への線形マッピングを実行します。使用される補間のタイプは、コンストラクタを介して、RenderingHints オブジェクトまたはこのクラスで定義されている整数型補間タイプのうちの 1 つによって指定されます。
</p></blockquote>
<p>それにしてもいつもすごく分かりにくい説明ですね。</p>
<p>ちなみに、java.awt.imageパッケージのxxxxOpというクラスは、操作対象があって、その対象に対しての操作が出来るモノらしいです。<br />
AffineTransformOpは、文字通りアフィン変換を対象に対して行うものです。</p>
<p>アフィン変換にはいくつか種類があって、リサイズということは拡大縮小（スケーリング）なので、その内容を指定して<br />
<a href="http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/awt/geom/AffineTransform.html">AffineTransform</a>を引数として<br />
AffineTransformOpに渡します。</p>
<p>AffineTransformは、スケーリング変換の場合<a href="http://72.5.124.55/javase/ja/6/docs/ja/api/java/awt/geom/AffineTransform.html#getScaleInstance(double, double)">AffineTransform#getScaleInstance</a>で<br />
取得できますが、この引数はリサイズ後のサイズではなく、元画像とリサイズ後画像の比率（リサイズ後画像/元画像）を指定します。</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">	<span style="color: #666666; font-style: italic;">//比率を出す</span>
	<span style="color: #000066; font-weight: bold;">double</span> resizeWidthRatio <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span><span style="color: #009900;">&#41;</span>resizeWidth <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span><span style="color: #009900;">&#41;</span>src.<span style="color: #006633;">getWidth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">double</span> resizeHeightRatio <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span><span style="color: #009900;">&#41;</span>resizeHeight <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span><span style="color: #009900;">&#41;</span>src.<span style="color: #006633;">getHeight</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #003399;">AffineTransform</span> at <span style="color: #339933;">=</span> <span style="color: #003399;">AffineTransform</span>.<span style="color: #006633;">getScaleInstance</span><span style="color: #009900;">&#40;</span>resizeWidthRatio, resizeHeightRatio<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">AffineTransformOp</span> atOp <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">AffineTransformOp</span><span style="color: #009900;">&#40;</span>at, <span style="color: #003399;">AffineTransformOp</span>.<span style="color: #006633;">TYPE_BICUBIC</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>このAffineTransformOpの第二引数には以下の3つのどれかを指定します。</p>
<ul>
<li>
<a href="http://www.j2ee.me/javase/ja/6/docs/ja/api/java/awt/image/AffineTransformOp.htmll#TYPE_BICUBIC">TYPE_BICUBIC</a>
</li>
<li>
<a href="http://www.j2ee.me/javase/ja/6/docs/ja/api/java/awt/image/AffineTransformOp.html#TYPE_BILINEAR">TYPE_BILINEAR</a>
</li>
<li>
<a href="http://www.j2ee.me/javase/ja/6/docs/ja/api/java/awt/image/AffineTransformOp.html#TYPE_NEAREST_NEIGHBOR">TYPE_NEAREST_NEIGHBOR</a>
</li>
</ul>
<p><a href="http://yougo.ascii.jp/caltar/%E3%83%90%E3%82%A4%E3%82%AD%E3%83%A5%E3%83%BC%E3%83%93%E3%83%83%E3%82%AF%E6%B3%95">バイキュービック法</a>によると、TYPE_BICUBICを選択するのが画質が良さそう。</p>
<p>しかし、これでgifファイルを書き込みしても透過されてくれないので、自力でやる必要がある。<br />
記事が埋もれそうなので次回に。
<p><script type="text/javascript"><!--
google_ad_client = "pub-3467153506120319";
/* 468x60, 作成済み 09/05/08 */
google_ad_slot = "8443402396";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.4sure.jp/yokoshima/2009/06/30/gif%e7%94%bb%e5%83%8f%e3%81%ae%e3%83%aa%e3%82%b5%e3%82%a4%e3%82%ba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.4sure.jp/yokoshima/2009/06/30/gif%e7%94%bb%e5%83%8f%e3%81%ae%e3%83%aa%e3%82%b5%e3%82%a4%e3%82%ba/" />
	</item>
		<item>
		<title>gifイメージの出力</title>
		<link>http://blog.4sure.jp/yokoshima/2009/06/11/gif%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8%e3%81%ae%e5%87%ba%e5%8a%9b/</link>
		<comments>http://blog.4sure.jp/yokoshima/2009/06/11/gif%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8%e3%81%ae%e5%87%ba%e5%8a%9b/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 10:11:16 +0000</pubDate>
		<dc:creator>yokoshima</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[BufferedImage]]></category>
		<category><![CDATA[gif]]></category>
		<category><![CDATA[ImageIO]]></category>

		<guid isPermaLink="false">http://blog.4sure.jp/yokoshima/?p=295</guid>
		<description><![CDATA[javaのImageIOで画像の出力が出来るが、今のところ、pngだと特に問題なく出力出来る。

//サーブレットで使う場合
	private void writeImage&#40;BufferedImage image&#41;&#123;
&#160;
		HttpServletResponse response = ResponseUtil.getResponse&#40;&#41;;
		ServletOutputStream sos = null;
		ImageOutputStream ios = null;
		try&#123;
		sos = response.getOutputStream&#40;&#41;;
		response.setContentType&#40;&#34;image/png&#34;&#41;;
		ios = ImageIO.createImageOutputStream&#40;sos&#41;;
&#160;
		ImageWriter iw = ImageIO.getImageWritersByMIMEType&#40;&#34;image/png&#34;&#41;.next&#40;&#41;;
&#160;
		iw.setOutput&#40;ios&#41;;
		iw.write&#40;image&#41;;
		iw.dispose&#40;&#41;;
&#160;
		&#125;catch&#40;Exception e&#41;&#123;
			e.printStackTrace&#40;&#41;;
		&#125;finally&#123;
			try &#123;
				ios.close&#40;&#41;;
				sos.close&#40;&#41;;
			&#125; catch &#40;IOException e&#41; &#123;
				e.printStackTrace&#40;&#41;;
			&#125;
		&#125;
&#160;
	&#125;

上記の場合、BufferedImageをTYPE_INT_ARGBにして、生成したBufferedImageのgraphicsに
以下のように指定すると背景がとりあえず透過色になるようです。

BufferedImage image = new BufferedImage&#40;500, 500, BufferedImage.TYPE_INT_ARGB&#41;;
Graphics2D gdImage = image.createGraphics&#40;&#41;;
gdImage.setComposite&#40;AlphaComposite.getInstance&#40;AlphaComposite.CLEAR, 0.0f&#41;&#41;;

しかし、gifで出力した際に、上記指定をして出力すると背景が真っ黒になってしまう。
なぜだろう？と思ったが、gifは256色までしか扱えないが、pngはフルカラーをサポートし、
さらにアルファチャンネルというのを持ち、半透明などの色も扱える。
gifは透過色を1色しか指定出来ない。
なので、pngで微妙に透過された表示できていた色が滅色されて真っ黒になってしまったのだろうと思いました。
じゃあgifで透過色を指定するのはどうやるの？
色々調べたところ、この

BufferedImage image = new BufferedImage&#40;500, 500, BufferedImage.TYPE_INT_ARGB&#41;;

のところで第三引数にTYPE_INT_ARGBを指定した場合
JavaDocによると

整数型ピクセルにパックされた 8 ビット RGBA 色成分によるイメージを表します。このイメージは、DirectColorModel (アルファあり) を持ちます。このイメージのカラーデータには、アルファがあらかじめ乗算されていません。このタイプが BufferedImage コンストラクタへの imageType 引数として使用される場合、作成されるイメージは JDK 1.1 以前のリリースで作成されるイメージと一貫性があります。

と記載があり、DirectColorModelとかいうものを使っているらしいということがわかりました。
さらにその説明を見ると
なにやらよく分かりませんが、

このカラーモデルは [...]]]></description>
			<content:encoded><![CDATA[<p>javaのImageIOで画像の出力が出来るが、今のところ、pngだと特に問題なく出力出来る。</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//サーブレットで使う場合</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">void</span> writeImage<span style="color: #009900;">&#40;</span><span style="color: #003399;">BufferedImage</span> image<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		HttpServletResponse response <span style="color: #339933;">=</span> ResponseUtil.<span style="color: #006633;">getResponse</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		ServletOutputStream sos <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
		ImageOutputStream ios <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
		sos <span style="color: #339933;">=</span> response.<span style="color: #006633;">getOutputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		response.<span style="color: #006633;">setContentType</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;image/png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		ios <span style="color: #339933;">=</span> ImageIO.<span style="color: #006633;">createImageOutputStream</span><span style="color: #009900;">&#40;</span>sos<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		ImageWriter iw <span style="color: #339933;">=</span> ImageIO.<span style="color: #006633;">getImageWritersByMIMEType</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;image/png&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		iw.<span style="color: #006633;">setOutput</span><span style="color: #009900;">&#40;</span>ios<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		iw.<span style="color: #006633;">write</span><span style="color: #009900;">&#40;</span>image<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		iw.<span style="color: #006633;">dispose</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">finally</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				ios.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				sos.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p>上記の場合、BufferedImageをTYPE_INT_ARGBにして、生成したBufferedImageのgraphicsに<br />
以下のように指定すると背景がとりあえず透過色になるようです。</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">BufferedImage</span> image <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedImage</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span>, <span style="color: #cc66cc;">500</span>, <span style="color: #003399;">BufferedImage</span>.<span style="color: #006633;">TYPE_INT_ARGB</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">Graphics2D</span> gdImage <span style="color: #339933;">=</span> image.<span style="color: #006633;">createGraphics</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
gdImage.<span style="color: #006633;">setComposite</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">AlphaComposite</span>.<span style="color: #006633;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">AlphaComposite</span>.<span style="color: #006633;">CLEAR</span>, 0.0f<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>しかし、gifで出力した際に、上記指定をして出力すると背景が真っ黒になってしまう。<br />
なぜだろう？と思ったが、gifは256色までしか扱えないが、pngはフルカラーをサポートし、<br />
さらにアルファチャンネルというのを持ち、半透明などの色も扱える。<br />
gifは透過色を1色しか指定出来ない。</p>
<p>なので、pngで微妙に透過された表示できていた色が滅色されて真っ黒になってしまったのだろうと思いました。<br />
じゃあgifで透過色を指定するのはどうやるの？</p>
<p>色々調べたところ、この</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">BufferedImage</span> image <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedImage</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span>, <span style="color: #cc66cc;">500</span>, <span style="color: #003399;">BufferedImage</span>.<span style="color: #006633;">TYPE_INT_ARGB</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>のところで第三引数にTYPE_INT_ARGBを指定した場合<br />
<a href="http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/awt/image/BufferedImage.html#TYPE_INT_ARGB">JavaDocによると</a></p>
<blockquote><p>
整数型ピクセルにパックされた 8 ビット RGBA 色成分によるイメージを表します。このイメージは、DirectColorModel (アルファあり) を持ちます。このイメージのカラーデータには、アルファがあらかじめ乗算されていません。このタイプが BufferedImage コンストラクタへの imageType 引数として使用される場合、作成されるイメージは JDK 1.1 以前のリリースで作成されるイメージと一貫性があります。
</p></blockquote>
<p>と記載があり、DirectColorModelとかいうものを使っているらしいということがわかりました。<br />
さらに<a href="http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/awt/image/DirectColorModel.html">その説明を見る</a>と<br />
なにやらよく分かりませんが、</p>
<blockquote><p>
このカラーモデルは X11 の TrueColor に類似しています。
</p></blockquote>
<p>とあるので、約1670万色を扱っているのだとわかります。<br />
gifでサポートしているのは256色が限度なので、ImageIOで書き込みする際には微妙な色は滅色されることが予想されます。<br />
じゃあどうするのか。</p>
<p>BufferedImageには<br />
<a href="http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/awt/image/BufferedImage.html#BufferedImage(int, int, int, java.awt.image.IndexColorModel)"><br />
public BufferedImage(int width,<br />
                     int height,<br />
                     int imageType,<br />
                     IndexColorModel cm)<br />
                     </a><br />
なコンストラクタがあります。<br />
先ほど出てきたDirectColorModelの仲間っぽい「IndexColorModel」というのが出てきます。<br />
これはなんだ？と思って<a href="http://wisdom.sakura.ne.jp/system/java/awt/Gjava40.html">こちら</a>に分かりやすく説明してくれているページを見つけたのですが、<br />
どうしても理解できず、それでまずは<a href="http://blog.4sure.jp/yokoshima/2009/06/05/論理演算の基本/">ビット演算</a>や、<a href="http://blog.4sure.jp/yokoshima/2009/06/08/シフト演算/">シフト演算</a><br />
を最初から勉強しなおしたのでした。</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-3467153506120319";
/* 468x60, 作成済み 09/05/08 */
google_ad_slot = "8443402396";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.4sure.jp/yokoshima/2009/06/11/gif%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8%e3%81%ae%e5%87%ba%e5%8a%9b/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.4sure.jp/yokoshima/2009/06/11/gif%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8%e3%81%ae%e5%87%ba%e5%8a%9b/" />
	</item>
	</channel>
</rss>
