czwartek, 2 kwietnia 2009

Tłumaczenie z Tajskiego an Angielski

Ok. kiedys tlumaczylem instrukcje porocków z angielskiego(koreańskiego) an poslski, ale to co dzis sie stalo bylo prawdziwym wyzwaniem:

Orginalna stronka

PHP - How to Merge Gif Animate
Posted in PHP and tagged with gif decode, gif encode, merge gif, PHP, split gif on 10/02/2008 01:54 am by admin
หลายวันก่อนมีน้องมาปรึกษาเรื่อง script php กับการ merge ไฟล์รูป gif animate เข้าด้วยกัน
เลยเอามาเขียนลงใน blog ด้วยดีกว่าเผื่อมีใครจะติดปัญหาแบบเดียวกันอยู่

หลายคนคงเคยประสบปัญหาในการรวมรูป gif เข้าด้วยกัน
แล้วรูปกลับไม่ขยับดุ๊กดิ๊กเหมือนเดิม กลับกลายเป็นภาพนิ่งซะงั้น (x_x)

ทำความเข้าใจก่อนว่ารูป gif animate คืออะไร?
จริงๆ แล้วรูป gif animate ก็คือรูปหลายๆ Frame มาวางต่อกันแล้วรวมเข้าเป็นไฟล์เดียว
ทำให้รูปเกิดความเคลื่อนไหว พูดไปแล้วงงป่าวๆ ดูรูปตัวอย่างเลยดีกว่าครับ เช่นรูปนี้


Frame 1 ..14

รู้แล้วว่า gif animate คืออะไร แล้วยังไงต่อ?
ตอนนี้เรารู้แล้วว่า gif animate แบ่งเป็นหลายๆ frame เพราะฉะนั้นถ้าเราใช้พวกคำสั่ง
imagecopymerge ไปตรงๆ เลย php จะทำการรวมให้เราเฉพาะ frame แรกเท่านั้น
ทำให้ผลลัพธ์ที่ได้กลายเป็นภาพนิ่ง (-_-)

ดังนั้น ถ้าเราต้องการรวมรุป gif 2 รูปเข้าด้วยกัน เราต้องแยกรูปที่จะรวมทั้ง 2 รูปออกเป็น frame
ก่อนแล้วแยกเก็บใสโฟลเดอร์ไว้ ผมขอเรียกขั้นตอนนี้ว่าการ split ซึ่งเพื่อนๆ สามารถ download
script ได้ตามลิงก์นี้ครับ
** มี bug ในไฟล์ชื่อ decode_a_gif.php บรรทัดที่ 10 แก้โดยเปลี่ยนจาก
fwrite(fopen(($i < 10 ? “frames/0$i_frame.gif”:”frames/$i_frame.gif”), “wb”), $arr[$i]);
fwrite ( fopen ( ( $i < 10 ? “frames/0$i.gif” : “frames/$i.gif” ), “wb” ), $arr [ $i ] );
Split เสร็จแล้วทำไงต่อ?
เมื่อเรา split ได้รูปเป็นหลายๆ frame มา 2 ชุดแล้ว ให้เราทำการรวมรูป ใน frame ที่เราต้องการ
เช่น สมมุติว่ารูปแรกเราแยกมาเป็น 10 frame รูปที่ 2 แยกมาเป็น 2 frame ถ้าต้องการแทรกรูปที่ 2 ไปที่
frame ที่ 5 ของรูปที่ 1 ก็นำรูป frame ที่ 5 ของรูปที่ 1 ไปรวมกับ frame แรกของรูปที่ 2 เป็นต้น
ซึ่งคำสั่ง ในการรวมรูปในข้นตอนนี้ใช้ imagecopymerge ได้เลยครับ เพราะว่าเป็นการรวม
ภาพนิ่งธรรมดา อ่านดูแล้วอาจจะงงๆ แนะนำให้ลองทำดูเลยดีกว่าครับ (*_*)

รวมรูปเสร็จแล้วก็มาถึงขั้นตอนสุดท้าย (^_^)V
เมื่อรวมรูปเป็น frameๆ เสร็จแล้ว สุดท้าย เราก็แค่ merge frame เหล่านั้นกลับมาเป็นรูป
gif animate เหมือนเดิมเท่านี้ก็เสร็จแล้วค้าบบพี่น้องงงง download script merge ได้ตาม

หวังว่าข้อมูลจะเป็นประโยชน์กับเพื่อนๆ นะครับ
ใครติดปัญหาอะไร หรือมีวิธีอะไรแนะนำที่ดีกว่านี้ก็ Comment ไว้ได้เลยนะครับ
ขอบคุณมากครับ Y(=^=)Y

Przetlumaczylem na:

[I hope this helps - author plz send me a feedback if u liked:]
[my comments or sth misunderstood is in "[..]" ]

PHP - How to Animate and merge GIF?
Posted in PHP and tagged with gif decode , gif encode , merge gif , PHP , split gif on 10/02/2008 01:54 am[WTF :) i'm not codding during night] by admin
Several days earlier i wanted to conslut how to make a php script that merge GIF files,animate images, all together.
If somene have similiar problem plz comment on my blog.

Many people have experienced continuing difficulties integrating images into a gif.[sth] Today [tonight :)] i'll give them a solution.

*Firt of all you have got to understand how gif is animated?

The gif itself is a multiple frames. [linked with a delay of ] frames.
Then joined and pasted them into a single file.
Let’s make a motion picture. [cuting a crap :)]
Take look at a sample like this :
[Frame 1]
[can you see a gif animation?]

* Know, What if that gif is animate addition to [sth..]?
Now we know that a gif animated frame is divided into several other pictures.
So we have to use them in in order:

php imagecopymerge will, honestly, include only the first frame!
and make the results to become still (-_-).

So what to do if we want to include in a gif two different model altogether.
We need to separate 1 form 2 and form a frame, next go thith them in a separate storage folder. The directory could be also “./” .
split ,download split, and share it with friends - they can download from now.
[just guessing a meaning]

This script is based on old package

Workaround of a a bug: in a file decode_a_gif.php
**A bug in the file name decode_a_gif.php solve by changing line 10 from:
fwrite(fopen(($i < 10 ? “frames/0$i_frame.gif”:”frames/$i_frame.gif”), “wb”), $arr[$i]);
fwrite ( fopen ( ( $i < 10 ? “frames/0$i.gif” : “frames/$i.gif” ), “wb” ), $arr [ $i ] );
[I think the usage of $i.gif” is the case here]

*Ok split is finished. now what?
When we split. A 1 multiple frame is split to 2 and then we make a frame in which we want.
For example, suppose that we first form a separate 10 frame Figure 2 is a separate 2 frame To insert Figure 2 to The frame 5 of Figure 1 is a lead frame 5 of Figure 1 to include the first frame of Figure 2.
The instructions included in condensed form in use now have imagecopymerge
Because a total i still see regular readers may already be numb.

*(^_^)V And then the completed form to the final step

Accompanied by a picture frame, we just finished the final merge frame ,and them returning to form.

gif animation is done.
the [convertion] is finished,

download script merge at site [?].

I really have hope that the information will be useful to you - friends. Got a problem? Any suggestions or comments? or how to get it done better? plz comment!

[sory that translation is quite poor - i speak taji quite bad (actually I cannot) - i had to ask neighbuour for help.. and he is not able to recognize mouse from keyboard :) - his a bit of n00b, and did a mentioned that i english is not my 1st language not even third - so i guess i'm n00b to :))]

Brak komentarzy:

Prześlij komentarz