นักพัฒนาปลุกชีพฟอร์แมต QuickDraw แบบคลาสสิกของ Mac ด้วยตัวแสดงภาพสมัยใหม่ที่ใช้ Swift

ทีมชุมชน BigGo
นักพัฒนาปลุกชีพฟอร์แมต QuickDraw แบบคลาสสิกของ Mac ด้วยตัวแสดงภาพสมัยใหม่ที่ใช้ Swift

ในโลกของโบราณคดีดิจิทัล การอนุรักษ์รูปแบบไฟล์เก่าๆ นำมาซึ่งความท้าทายอันเป็นเอกลักษณ์ เมื่อระบบปฏิบัติการสมัยใหม่เลิกสนับสนุนรูปแบบไฟล์รุ่นเก่า สิ่งประดิษฐ์ดิจิทัลอันมีค่าก็เสี่ยงที่จะเข้าถึงไม่ได้ โดยเฉพาะอย่างยิ่งกับไฟล์ QuickDraw PICT ซึ่งเป็นรูปแบบภาพดั้งเดิมของคอมพิวเตอร์ Macintosh คลาสสิกที่เคยขับเคลื่อนทุกอย่างตั้งแต่การจัดพิมพ์เพื่อการพิมพ์ ไปจนถึงการพัฒนาเกมในยุคแรกเริ่ม

ความท้าทายในการอนุรักษ์ QuickDraw

ชุมชนนักพัฒนาได้ทำงานอย่างแข็งขันเพื่ออนุรักษ์ไฟล์ QuickDraw PICT โดยได้ผลลัพธ์ที่หลากหลาย ดังที่ผู้ใช้ท่านหนึ่งให้ความเห็นเกี่ยวกับความพยายามของตัวเองว่า ฉันเคยเขียนตัวแปลงไฟล์ QuickDraw PICT แต่มุ่งเน้นไปที่การดึงข้อมูลพิกเซลเท่านั้น รูปแบบนี้โดยพื้นฐานแล้วคือวิธีการเข้ารหัสคำสั่งการวาดของ QuickDraw และการจะได้ภาพเดิมกลับมาก็หมายถึงการต้องนำเอา QuickDraw กลับมาประกอบใหม่ สิ่งนี้ชี้ให้เห็นถึงความซับซ้อนพื้นฐานของรูปแบบไฟล์ – มันไม่ใช่แค่การเก็บพิกเซล แต่เป็นการบันทึกคำสั่งการวาดที่ต้องอาศัยการตีความตรรกะของเอ็นจิ้น QuickDraw ดั้งเดิม

QuickDraw Viewer ที่ใช้ Swift นี้ใช้แนวทางที่แตกต่างจากการดึงพิกเซลแบบง่ายๆ แทนที่จะพยายามจำลองการแสดงผลบนหน้าจอ Mac ดั้งเดิมที่ 72 DPI ให้สมบูรณ์แบบ มันแปลคำสั่ง QuickDraw ไปเป็น Core Graphics คล้ายกับวิธีที่ไดรเวอร์เครื่องพิมพ์ทำงานในระบบปฏิบัติการ Mac รุ่นคลาสสิก การตัดสินใจในเชิงหลักการนี้ยอมรับว่าจอแสดงผลความละเอียดสูงสมัยใหม่ (เช่น จอ MacBook ปี 2021 ที่ 264 DPI) นั้นใกล้เคียงกับความละเอียดของเครื่องพิมพ์มากกว่าจอ Mac ดั้งเดิม

ฟีเจอร์ที่ QuickDraw Viewer รองรับ

  • เส้นและรูปทรงพื้นฐาน (สี่เหลี่ยมผืนผ้า, วงรี, สี่เหลี่ยมมุมมน, ส่วนโค้ง)
  • พื้นที่และลวดลาย (ลวดลาย 1-bit ขนาด 8x8 และลวดลายสีที่มีขนาดไม่จำกัด)
  • ข้อความพร้อมการเลือกขนาด, ฟอนต์, สไตล์ และการหัน
  • การเลือกสี (QuickDraw 1 color planes, QuickDraw 2 RGB, Canvas CMYK)
  • รูปภาพแบบ palette และรูปภาพ RGB โดยตรง
  • ตัวแปลงสัญญาณ QuickTime หลายรูปแบบรวมถึง JPEG, TIFF, PNG, BMP และรูปแบบวิดีโอของ Apple ต่างๆ
การนำเสนอเชิงเรขาคณิตที่ได้รับแรงบันดาลใจจากความสามารถในการออกแบบที่ซับซ้อนของรูปแบบ QuickDraw
การนำเสนอเชิงเรขาคณิตที่ได้รับแรงบันดาลใจจากความสามารถในการออกแบบที่ซับซ้อนของรูปแบบ QuickDraw

การค้นพบของชุมชนและกรณีการใช้งาน

ผู้ใช้ได้ทดสอบตัวแสดงภาพนี้กับคอลเลกชันไฟล์ PICT ของพวกเขาเอง ซึ่งเปิดเผยทั้งการประยุกต์ใช้ในทางปฏิบัติและข้อมูลเชิงเทคนิค ผู้ใช้หนึ่งคนค้นพบว่า เก่า Mac เกม Avara ใช้รูปแบบนี้สำหรับเลเวล มันดูแปลกๆ... คุณสามารถวางบล็อกในโลก 3 มิติ และควบคุมความสูงโดยการเปลี่ยนรัศมีมุมของสี่เหลี่ยมผืนผ้า สิ่งนี้เผยให้เห็นว่าผู้พัฒนาที่มีความคิดสร้างสรรค์ได้นำคุณสมบัติของ QuickDraw ไปใช้ในวิธีที่คาดไม่ถึง

การสนทนายังช่วยชี้แจงความเข้าใจผิดเกี่ยวกับธรรมชาติของรูปแบบไฟล์ PICT ในขณะที่บางคนเข้าใจว่ามันเป็นรูปแบบเวกเตอร์เป็นหลัก แต่คนอื่นๆ ชี้ให้เห็นถึงความสามารถแบบผสมผสานของมัน ดังที่อธิบายไว้ในความคิดเห็น PICT รองรับคำสั่งเวกเตอร์เช่น FrameRect และ FillOval, คำสั่งบิตแมปเช่น BitsRect และแม้แต่ PostScript ที่ฝังตัวผ่าน PicComments ความซับซ้อนนี้อธิบายได้ว่าทำไมการแสดงผล PICT ที่ครอบคลุมจึงต้องจัดการกับเนื้อหาหลายประเภท

เนื่องจาก PICT เป็นรูปแบบเวกเตอร์ในแก่นแท้ สิ่งที่เหมาะที่สุดคือการแปลงเป็น SVG ครั้งหนึ่งฉันเคยเขียนเครื่องมือบางส่วนเพื่อทำสิ่งนั้น แต่มันจัดการกับข้อความได้ไม่ดีนัก

ข้อมูลเชิงลึกจากชุมชนนี้ชี้ไปยังทิศทางการพัฒนาในอนาคต ขณะเดียวกันก็ยอมรับถึงอุปสรรคทางเทคนิคที่ยังคงเหลืออยู่

ฟีเจอร์ QuickDraw ที่ไม่รองรับ

  • โหมดการผสมภาพแบบพิเศษบางประเภท (โดยทั่วไปเครื่องพิมพ์ไม่รองรับ)
  • การจัดแนวข้อความและการทำให้รูปหลายเหลี่ยมเรียบ
  • ตัวแปลงสัญญาณ QuickTime แบบพิเศษ เช่น Photo-CD หรือ Sorenson
  • กรณีพิเศษบางอย่างในการเรนเดอร์ที่กล่าวถึงในการใช้งานเดิม

การประยุกต์ใช้ในทางปฏิบัติและเครื่องมือการแปลง

ผู้ใช้ได้สำรวจเวิร์กโฟลว์เชิงปฏิบัติสำหรับการจัดการกับไฟล์ PICT บางคนพบความสำเร็จด้วยการดำเนินการคัดลอกและวางง่ายๆ ลงใน Preview เพื่อการแปลงพื้นฐาน ในขณะที่คนอื่นๆ ระบุถึงเครื่องมือแปลงเป็น PDF แบบ command-line ที่รวมมาไว้ด้วย การสนทนาเผยให้เห็นว่าผู้ใช้หลายคนต้องการแปลงไฟล์ PICT เป็นรูปแบบสมัยใหม่เช่น PNG หรือ PDF เป็นหลัก เพื่อการอนุรักษ์ในระยะยาว

โครงการนี้ยังรวมถึงเครื่องมือช่วยเหลือที่ขยายประโยชน์การใช้งานไป beyond การดูภาพแบบง่ายๆ สคริปต์ Python สำหรับแปลงข้อมูล QuickDraw จากคำอธิบายทรัพยากรข้อความ (text resource) ให้เป็นไฟล์ PICT จริง สามารถช่วยกู้คืนข้อมูลจากคลิปปิ้งหรือแอปพลิเคชันต่างๆ ซึ่งให้ความสามารถที่มีคุณค่าสำหรับนักจัดเก็บข้อมูลดิจิทัลและนักพัฒนาที่ทำงานกับซอฟต์แวร์ Mac รุ่นเก่า

การมีส่วนร่วมอย่างต่อเนื่องของชุมชนกับโครงการนี้แสดงให้เห็นว่าไฟล์ QuickDraw PICT ยังคงมีความเกี่ยวข้อง ทั้งเพื่อความนostalgia และการกู้คืนข้อมูลในทางปฏิบัติ ในขณะที่ระบบสมัยใหม่ยังคงวิวัฒนาการต่อไป เครื่องมือเช่นตัวแสดงภาพที่ใช้ Swift นี้จะช่วยรับประกันว่าความคิดสร้างสรรค์ดิจิทัลตลอดสามทศวรรษจะไม่สูญหายไปกับความก้าวหน้าทางเทคโนโลยี

อ้างอิง: QuickDraw Viewer