<?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>My Fine Day &#187; gif decode</title>
	<atom:link href="http://www.myfineday.com/tag/gif-decode/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.myfineday.com</link>
	<description>My story in every day</description>
	<lastBuildDate>Sun, 25 Sep 2011 16:10:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>PHP &#8211; How to Merge Gif Animate</title>
		<link>http://www.myfineday.com/2008/10/02/php-how-to-merge-gif-animate/</link>
		<comments>http://www.myfineday.com/2008/10/02/php-how-to-merge-gif-animate/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 18:54:44 +0000</pubDate>
		<dc:creator>MyFineDay</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[gif decode]]></category>
		<category><![CDATA[gif encode]]></category>
		<category><![CDATA[merge gif]]></category>
		<category><![CDATA[split gif]]></category>

		<guid isPermaLink="false">http://www.myfineday.com/?p=40</guid>
		<description><![CDATA[หลายวันก่อนมีน้องมาปรึกษาเรื่อง script php กับการ merge ไฟล์รูป gif animate เข้าด้วยกัน เลยเอามาเขียนลงใน blog ด้วยดีกว่าเผื่อมีใครจะติดปัญหาแบบเดียวกันอยู่ หลายคนคงเคยประสบปัญหาในการรวมรูป gif เข้าด้วยกัน แล้วรูปกลับไม่ขยับดุ๊กดิ๊กเหมือนเดิม กลับกลายเป็นภาพนิ่งซะงั้น  (x_x) วันนี้ผมจะมาไขข้อข้องใจให้ครับ zickr_url='http://www.myfineday.com/2008/10/02/php-how-to-merge-gif-animate/' ทำความเข้าใจก่อนว่ารูป gif animate คืออะไร? จริงๆ แล้วรูป gif animate ก็คือรูปหลายๆ Frame มาวางต่อกันแล้วรวมเข้าเป็นไฟล์เดียว ทำให้รูปเกิดความเคลื่อนไหว พูดไปแล้วงงป่าวๆ ดูรูปตัวอย่างเลยดีกว่าครับ เช่นรูปนี้ ----&#62; Frame 1              Frame 2               Frame 3 Frame 4                 Frame 5               Frame 6 Frame 7                Frame 8               Frame 9 Frame 10              Frame 11              [...]]]></description>
			<content:encoded><![CDATA[<p>หลายวันก่อนมีน้องมาปรึกษาเรื่อง script php กับการ merge ไฟล์รูป gif animate เข้าด้วยกัน<br />
เลยเอามาเขียนลงใน blog ด้วยดีกว่าเผื่อมีใครจะติดปัญหาแบบเดียวกันอยู่</p>
<p>หลายคนคงเคยประสบปัญหาในการรวมรูป gif เข้าด้วยกัน<br />
แล้วรูปกลับไม่ขยับดุ๊กดิ๊กเหมือนเดิม กลับกลายเป็นภาพนิ่งซะงั้น  (x_x)<br />
วันนี้ผมจะมาไขข้อข้องใจให้ครับ</p>
<p><span id="more-40"></span></p>
<div style="float:right"><div class="zickrbutton"><script>zickr_url='http://www.myfineday.com/2008/10/02/php-how-to-merge-gif-animate/'</script><script language="javascript" src="http://api.zickr.com/button.js"></script></div></div>
<p><span style="color: #2574eb;"><strong>ทำความเข้าใจก่อนว่ารูป gif animate คืออะไร?</strong></span><br />
จริงๆ แล้วรูป gif animate ก็คือรูปหลายๆ Frame มาวางต่อกันแล้วรวมเข้าเป็นไฟล์เดียว<br />
ทำให้รูปเกิดความเคลื่อนไหว พูดไปแล้วงงป่าวๆ ดูรูปตัวอย่างเลยดีกว่าครับ เช่นรูปนี้</p>
<table border="0" width="523">
<tbody>
<tr>
<td valign="top"><img src="http://www.myfineday.com/wp-content/uploads/2008/10/birdworm1.gif" alt="" width="103" height="120" /></td>
<td width="50" valign="top"><strong> </strong><strong></strong><strong></strong></p>
<p><strong></strong></p>
<p><strong></strong></p>
<p><strong></strong></p>
<p><strong></strong></p>
<p><strong>----&gt;</strong></td>
<td width="370"><img src="http://www.myfineday.com/wp-content/uploads/2008/10/00.gif" alt="" hspace="2" width="103" height="120" /><img src="http://www.myfineday.com/wp-content/uploads/2008/10/01.gif" alt="" hspace="2" width="103" height="120" /><img src="http://www.myfineday.com/wp-content/uploads/2008/10/02.gif" alt="" hspace="2" width="103" height="120" /><br />
Frame 1              Frame 2               Frame 3<br />
<img src="http://www.myfineday.com/wp-content/uploads/2008/10/03.gif" alt="" hspace="2" width="103" height="120" /><img src="http://www.myfineday.com/wp-content/uploads/2008/10/04.gif" alt="" hspace="2" width="103" height="120" /><img src="http://www.myfineday.com/wp-content/uploads/2008/10/05.gif" alt="" hspace="2" width="103" height="120" /><br />
Frame 4                 Frame 5               Frame 6<br />
<img src="http://www.myfineday.com/wp-content/uploads/2008/10/06.gif" alt="" /><img src="http://www.myfineday.com/wp-content/uploads/2008/10/07.gif" alt="" hspace="2" width="103" height="120" /><img src="http://www.myfineday.com/wp-content/uploads/2008/10/08.gif" alt="" hspace="2" width="103" height="120" /><br />
Frame 7                Frame 8               Frame 9<br />
<img src="http://www.myfineday.com/wp-content/uploads/2008/10/09.gif" alt="" hspace="2" width="103" height="120" /><img src="http://www.myfineday.com/wp-content/uploads/2008/10/10.gif" alt="" hspace="2" width="103" height="120" /><img src="http://www.myfineday.com/wp-content/uploads/2008/10/11.gif" alt="" hspace="2" width="103" height="120" /><br />
Frame 10              Frame 11              Frame 12<br />
<img src="http://www.myfineday.com/wp-content/uploads/2008/10/12.gif" alt="" hspace="2" width="103" height="120" /><img src="http://www.myfineday.com/wp-content/uploads/2008/10/13.gif" alt="" hspace="2" width="103" height="120" /><br />
Frame 13              Frame 14</td>
</tr>
</tbody>
</table>
<p><span style="color: #2574eb;"><strong><br />
รู้แล้วว่า gif animate คืออะไร แล้วยังไงต่อ?</strong></span><br />
ตอนนี้เรารู้แล้วว่า gif animate แบ่งเป็นหลายๆ frame เพราะฉะนั้นถ้าเราใช้พวกคำสั่ง<br />
imagecopymerge ไปตรงๆ เลย php จะทำการรวมให้เราเฉพาะ frame แรกเท่านั้น<br />
ทำให้ผลลัพธ์ที่ได้กลายเป็นภาพนิ่ง (-_-)</p>
<p>ดังนั้น ถ้าเราต้องการรวมรุป gif 2 รูปเข้าด้วยกัน เราต้องแยกรูปที่จะรวมทั้ง 2 รูปออกเป็น frame<br />
ก่อนแล้วแยกเก็บใสโฟลเดอร์ไว้ ผมขอเรียกขั้นตอนนี้ว่าการ split ซึ่งเพื่อนๆ สามารถ download<br />
script ได้ตามลิงก์นี้ครับ <a href="http://phpclasses.ca/browse/package/3234.html">http://phpclasses.ca/browse/package/3234.html</a><br />
<strong>** มี bug ในไฟล์ชื่อ decode_a_gif.php บรรทัดที่ 10</strong> แก้โดยเปลี่ยนจาก<br />
fwrite(fopen(($i &lt; 10 ? "frames/0$i_frame.gif":"frames/$i_frame.gif"), "wb"), $arr[$i]);<br />
แก้เป็น<br />
fwrite ( fopen ( ( $i &lt; 10 ? "frames/0$i.gif" : "frames/$i.gif" ), "wb" ), $arr [ $i ] );<br />
<span style="color: #2574eb;"><strong>Split เสร็จแล้วทำไงต่อ?<br />
</strong></span> เมื่อเรา split ได้รูปเป็นหลายๆ frame มา 2 ชุดแล้ว ให้เราทำการรวมรูป ใน frame ที่เราต้องการ<br />
เช่น สมมุติว่ารูปแรกเราแยกมาเป็น 10 frame รูปที่ 2 แยกมาเป็น 2 frame ถ้าต้องการแทรกรูปที่ 2 ไปที่<br />
frame ที่ 5 ของรูปที่ 1  ก็นำรูป frame ที่ 5  ของรูปที่ 1 ไปรวมกับ frame แรกของรูปที่ 2 เป็นต้น<br />
ซึ่งคำสั่ง ในการรวมรูปในข้นตอนนี้ใช้  <strong>imagecopymerge</strong> ได้เลยครับ เพราะว่าเป็นการรวม<br />
ภาพนิ่งธรรมดา อ่านดูแล้วอาจจะงงๆ  แนะนำให้ลองทำดูเลยดีกว่าครับ (*_*)</p>
<p><span style="color: #2574eb;"><strong>รวมรูปเสร็จแล้วก็มาถึงขั้นตอนสุดท้าย (^_^)V<br />
</strong></span> เมื่อรวมรูปเป็น frameๆ เสร็จแล้ว สุดท้าย เราก็แค่ merge frame เหล่านั้นกลับมาเป็นรูป<br />
gif animate เหมือนเดิมเท่านี้ก็เสร็จแล้วค้าบบพี่น้องงงง download script merge ได้ตาม<br />
ลิงก์นี้เลยครับ  <a href="http://phpclasses.sgboards.com/browse/package/3163.html">http://phpclasses.sgboards.com/browse/package/3163.html</a></p>
<p>หวังว่าข้อมูลจะเป็นประโยชน์กับเพื่อนๆ นะครับ<br />
ใครติดปัญหาอะไร หรือมีวิธีอะไรแนะนำที่ดีกว่านี้ก็ Comment ไว้ได้เลยนะครับ<br />
ขอบคุณมากครับ Y(=^=)Y</p>
]]></content:encoded>
			<wfw:commentRss>http://www.myfineday.com/2008/10/02/php-how-to-merge-gif-animate/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

