>> [เล่นดนตรี]
>> ROB สลิง: สวัสดี
ฉันร็อบและให้ขนาดของ ปัญหานี้
ดังนั้นเรากำลังจะเริ่มต้นด้วยการเป็น copy.c แม่ แต่เรากำลังจะเป็น
ทำให้ค่อนข้างเปลี่ยนแปลงบางอย่าง
>> ตอนนี้เราเห็นเรากำลังทำทันที การเปลี่ยนแปลงที่เราไม่ได้ตรวจสอบ
เพื่อ rxc ของเราไม่ได้เท่ากับ 3 แต่ตอนนี้ เรากำลังตรวจสอบ RC ไม่เท่ากับ 4
เนื่องจากเรายังต้องการที่จะรวมใน นอกเหนือจากในแฟ้มและออกไฟล์
ข้อโต้แย้งฉซึ่งเป็นไปได้นี้ ปัจจัยโดยที่เรากำลังปรับ
>> ดังนั้นเมื่อเรากำลังตรวจสอบว่าการที่เราต้องการที่จะ ใช้สแกน s f เพื่อแปลงสตริง
argv1 จะลอย
และเรากำลังจะเก็บ ว่าในปัจจัย
นี้ตัวละครเพิ่มเติมคือการทำให้แน่ใจว่า ว่าเราไม่ได้จริงเข้ามา
1.4 สิ่งที่ต้องการเอบีซี ที่บรรทัดคำสั่ง
>> ตอนนี้เรากำลังจะสร้างชื่อแทนบางส่วน ตั้งแต่ RV2 และ RV3 ไม่
ชื่อที่เป็นประโยชน์มาก
เราแทนจะเรียก ไว้ในไฟล์และเอาท์แฟ้ม
ตอนนี้เรากำลังจะทำให้แน่ใจว่า ปัจจัยของเราถูกต้องจริง
ดังนั้นถ้าปัจจัยที่มีค่าน้อยกว่าหรือเท่ากับ ศูนย์หรือมากกว่า 100 แล้วตาม
spec ที่เราควรจะปฏิเสธ ปัจจัยที่
>> เมื่อเรากำลังตรวจสอบว่ามันเป็นเรื่องดีที่ตอนนี้เราสามารถ เปิดไฟล์ n และเราจะต้องทำให้
แน่ใจว่าจะประสบความสำเร็จในการเปิด
ถ้ามันไม่ได้ที่จะกลับมาเป็นโมฆะ
เรากำลังจะไปเปิดไฟล์ออก
และอีกครั้งที่เราต้องการที่จะตรวจสอบเพื่อให้ แน่ใจว่ามันประสบความสำเร็จในการเปิด
และถ้ามันไม่ได้ประสบความสำเร็จเปิดแล้ว เรายังต้องให้แน่ใจว่าได้ปิด
ไฟล์ n ซึ่ง แต่เดิมที่ประสบความสำเร็จ เปิดหรืออื่น ๆ ที่เรามี
หน่วยความจำรั่ว
>> ดังนั้นตอนนี้เรากำลังจะอ่านในบิตแมป ส่วนหัวของแฟ้มและข้อมูลบิตแมป
ส่วนหัวจากไฟล์ n
เราจะทำให้แน่ใจว่า n เป็นไฟล์บิตแมปที่ถูกต้อง
ตกลง
>> ดังนั้นตอนนี้เรากำลังจะเริ่มต้น การเปลี่ยนแปลงบางอย่าง
ดังนั้นเพราะเรากำลังจะได้รับการเปลี่ยนแปลง สิ่งแรกที่เราอยากจะจดจำ
ความกว้างที่เก่าแก่ของไฟล์ n
เราต้องการที่จะจำได้ว่าช่องว่างภายในที่เก่าแก่ของ n แฟ้มโดยใช้การคำนวณเดียวกัน
จาก copy.c.
>> และตอนนี้เรากำลังจะมีการเปลี่ยนแปลง ส่วนหัวของข้อมูลบิตแมป
และอื่น ๆ เรากำลังคูณทั้งความกว้าง และความสูงโดยปัจจัยตั้งแต่
นั่นคือสิ่งที่เรากำลังปรับโดย
เรากำลังจะไปตรวจสอบ padding ใหม่ของแฟ้มโดย
โดยใช้ความกว้างใหม่
และเรากำลังจะไปตรวจสอบใหม่ ขนาดของภาพที่ใช้จำนวน
ไบต์ในแถวเดียวซึ่งเป็นไป เป็นจำนวนพิกเซลในแถวที่
เท่าของขนาดของพิกเซลบวก จำนวนไบต์ของการขยายที่สิ้นสุด
แถวนั้นและคูณทั้งหมดที่ จากจำนวนของแถวที่เรามี
เพื่อให้เป็นจำนวนไบต์ ที่เรามีในข้อมูลภาพของเรา
>> Bf.Bfsize ตอนนี้เป็นไปได้จำนวน ของไบต์ในรุ่นเบต้าภาพของเราบวก
ขนาดของส่วนหัวของเรา
ดังนั้นขนาดบวกของส่วนหัวของแฟ้มบิตแมป และขนาดของส่วนหัวของข้อมูลบิตแมป
ตกลง
เพื่อให้มันสำหรับส่วนหัวของเรา
เราสามารถเขียนหัวไฟล์และ ส่วนหัวของข้อมูลที่จะออกของเรา
ไฟล์และเรากำลังดี
>> ตอนนี้มันถึงเวลาที่จะเริ่มต้นจริง เขียนพิกเซล
ข้อมูลไปยังแฟ้มออก
เรากำลังจะประกาศบัฟเฟอร์ขนาด เก่ากว้าง RGB อเนกประสงค์และเรา
จะประกาศตัวแปรที่เรียกว่า ชาแถวซึ่งเป็นที่เรากำลังจะ
ชุดแรกเท่ากับลบ 1
เราจะเห็นว่าเรากำลังจะใช้ ว่าในการติดตามสิ่งที่
แถวขณะนี้เรามีการโหลด ลงในบัฟเฟอร์นี้
ตกลง
>> ดังนั้นตอนนี้แตกต่างจากรุ่นมาตรฐาน แทน iterating ไปที่ใน
ไฟล์ที่เรากำลังจะย้ำกว่าแต่ละ แถวในแฟ้มออกและคิดออก
ซึ่งแถวในไฟล์ที่เราต้องการ วางในแถวนี้ในแฟ้มออก
ดังนั้น iterating ผ่านแถวทั้งหมดในออก ไฟล์โดยใช้ความสูงใหม่เราครั้งแรก
จะตรวจสอบแถวในเก่า ไฟล์ที่เรากำลังจะใช้ที่เรา
จะทำโดยการปัจจุบันนี้ แถวหารด้วยปัจจัย
เพื่อที่จะให้เราแถว ในไฟล์เก่าที่เราต้องการ
>> ดังนั้นถ้าไม่ชาแถว y เก่าไม่เท่ากัน เราจะต้องอ่านแถว
ที่เราต้องการลงในบัฟเฟอร์แถวปของเรา
ดังนั้นเราจึงมีวิธีการที่จะทำเช่นนั้นได้อย่างไร
ขั้นแรกเราจะคิดออก ตำแหน่งที่เริ่มต้นในแถวที่
ไฟล์ต้นฉบับ
ดังนั้นตำแหน่งที่เป็นไปได้ ที่ผ่านมาทั้งหมดของส่วนหัวของเราและ
แถว y ตอนนี้ผ่านมาเก่า
>> และอื่น ๆ กี่ไบต์ อยู่ในแถวเดียวได้หรือไม่
อีกครั้งเก่าขนาดของ RGB สามครั้ง ความกว้างบวก padding เก่าเพื่อให้เป็น
จำนวนไบต์ในแถวเดียว
และเราต้องการที่จะข้ามแถว y อดีตเก่า
ดังนั้นเรากำลังจะฉแสวงหาและเรา ใช้หาชุดที่จะเริ่มต้นจาก
จุดเริ่มต้นของไฟล์
เราจะพยายามที่จะฉตำแหน่งนี้ ในแฟ้มที่วางเราที่
จุดเริ่มต้นของแถวที่เราต้องการ การอ่านลงในบัฟเฟอร์ของเรา
>> เรากำลังจะไปตั้งแถว ชาเท่ากับเก่า
ดังนั้นตอนนี้ถ้าเราห่วงกลับและเราต้องการที่จะ ใช้แถวเดียวกันนี้ในแฟ้มออกของเรา
แล้วเราจะไม่อ่าน อีกครั้งโดยไม่จำเป็น
ดังนั้นจริงๆชาแถว เพียงแค่การเพิ่มประสิทธิภาพ
>> สุดท้ายเรากำลังจะอ่านใน แถวปัจจุบันความกว้าง RGB เก่าอเนกประสงค์
ที่เราต้องการจากไฟล์ต้นฉบับ
ดังนั้นตอนนี้แถวปมีพิกเซลจาก ไฟล์ต้นฉบับที่เราต้องการ
เขียนลงในไฟล์ออก
ดังนั้นตอนนี้เช่นเดียวกับข้างต้นแทน iterating กว่าไฟล์เก่าที่เราต้องการ
มันจะย้ำกว่าแถวไฟล์ใหม่
ดีที่นี่แทนการวนไปทั่ว ของพิกเซลเก่าที่อยู่ในแถวป,
เราต้องการที่จะย้ำกว่าทุก พิกเซลในไฟล์ใหม่ของเราในครั้งนี้
แถวโดยเฉพาะอย่างยิ่ง
>> ทำไมเราจึงต้องการที่จะทำเช่นนั้น
เพราะเราเห็นว่าที่นี่เราไม่ได้ จริงจำเป็นต้องใช้ทั้งหมดของ
พิกเซลในไฟล์ต้นฉบับ
เพราะถ้าเรากำลังหดตัวที่เราอาจจะ จริงต้องการที่จะข้ามพิกเซล
และเราจะเห็นว่าเรื่องนี้ -
x หารด้วยปัจจัย -
อย่างใกล้ชิดกระจกขึ้นที่นี่ที่เราพูด y หารด้วยปัจจัยที่จะคิดออกว่า
แถว y th-เก่าสอดคล้องกับ แถว th-y ในไฟล์ใหม่นี้
>> ตอนนี้เรากำลังจะเขียนทั้งหมด พิกเซลเหล่านี้จากแถวเก่า
เข้าแถวใหม่ของเรา
เมื่อเราได้ทำที่เราต้องการเพียงแค่ ใส่ช่องว่างที่ท้ายแถวของเรา
และเราจะห่วงกลับและดำเนินการต่อไป แถวทั้งหมดที่อยู่ในแฟ้มใหม่ของเรา
ในตอนท้ายเราต้องปิดเก่าของเรา ยื่นปิดแฟ้มใหม่ของเราและการกลับมา
ศูนย์เพราะทุกอย่างไปได้ดี
>> ชื่อของฉันคือร็อบและนี่คือ Recess
>> [เล่นดนตรี]