<?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>HattaraTecLog &#187; C</title>
	<atom:link href="http://teclog.hattara.info/?cat=72&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://teclog.hattara.info</link>
	<description>LinuxネタとかPHPネタとかの技術ログ</description>
	<lastBuildDate>Tue, 18 Nov 2014 12:15:20 +0000</lastBuildDate>
	<language>ja</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8</generator>
	<item>
		<title>libgdで背景が透過な画像をつくる</title>
		<link>http://teclog.hattara.info/?p=351</link>
		<comments>http://teclog.hattara.info/?p=351#comments</comments>
		<pubDate>Thu, 19 Jul 2012 12:37:35 +0000</pubDate>
		<dc:creator><![CDATA[hattara]]></dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[C言語]]></category>
		<category><![CDATA[libgd]]></category>
		<category><![CDATA[透過画像]]></category>

		<guid isPermaLink="false">http://teclog.hattara.info/?p=351</guid>
		<description><![CDATA[久しぶりすぎるブログの更新になってしまいました。。 さっそくですが、今はもう本家サイトが落ちている　libgd [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>久しぶりすぎるブログの更新になってしまいました。。</p>
<p>さっそくですが、今はもう本家サイトが落ちている　<a href="http://www.libgd.org/" title="libgd" target="_blank">libgd</a>　について触る機会があったので、<br />
備忘録として残しておきます。</p>
<p>C言語で画像を生成、結合するときに利用するlibgdですが、背景を透過にしたい場合のお話。</p>
<p>【普通のパターン】</p>
<blockquote><p>
gdImagePtr im;</p>
<p> im = gdImageCreate();<br />
　：<br />
//実際の生成とか結合
</p></blockquote>
<p>というようになりますが、このままだと、<br />
一番最初に現れた色がイメージの背景色になってしまいます。</p>
<p>たとえば、画像をcopyして生成とかした場合に、それが透過画像で黒いborderがついてたりすると<br />
透過部分は色がないので、スルーして、一番最初にくる黒を背景として、全体に利用されます。</p>
<p>そこで背景色を透過にするにはどうするのか。<br />
以下のようにしたらできました。</p>
<p>【変更した後】</p>
<blockquote><p>
gdImagePtr im;<br />
int bgColor;</p>
<p>im = gdImageCreate();<br />
bgColor = gdImageColorAllocate(im, 0, 0, 0);　<br />
　//↑使わないので色指定は何でもいい(ちなみに0,0,0は黒)</p>
<p>gdImageColorTransparent(im, bgColor);　<br />
　//↑bgColorを透過で更新<br />
　：<br />
//実際の生成とか結合
</p></blockquote>
<p>というように一旦一番最初に適用される色を定義して、<br />
その後で、そのcolorを透過に塗り替えるということですね。</p>
<p>まあ、ありふれた内容ですね。</p>
<p>とりあえず、サクっとできてよかった。</p>
]]></content:encoded>
			<wfw:commentRss>http://teclog.hattara.info/?feed=rss2&#038;p=351</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
