รูปแบบไฟล์ (.lum)
Lumi ใช้รูปแบบไฟล์แบบเปิดตามไดเร็กทอรี (.lum) ที่ออกแบบมาเพื่อประสิทธิภาพ ความน่าเชื่อถือ และการเข้าถึงในระยะยาว
ภาพรวม
จริงๆ แล้วไฟล์ .lum เป็นไดเร็กทอรีที่มี:
- ข้อมูลเมตา (เลเยอร์ โหมดการผสม คุณสมบัติ)
- บัฟเฟอร์เลเยอร์ (ข้อมูลพิกเซลส่วนบุคคลสำหรับแต่ละเลเยอร์)
- มาสก์ (ข้อมูลระดับสีเทาสำหรับเลเยอร์มาสก์)
- ประวัติการกู้คืน (สแนปชอตส่วนเพิ่ม)
โครงสร้างนี้ช่วยให้สามารถบันทึกได้อย่างรวดเร็ว โหลดไฟล์ขนาดใหญ่แบบ Lazy Loading และกู้คืนงานได้แม้หลังจากเกิดข้อขัดข้อง
คุณสมบัติที่สำคัญ
เปิดและอ่านได้
รูปแบบ .lum ใช้ข้อมูลเมตา XML และบัฟเฟอร์ไบนารีที่บีบอัด คุณสามารถตรวจสอบโครงสร้างเลเยอร์ คุณสมบัติ และโหมดการผสมในรูปแบบข้อความธรรมดาได้ ไม่มีตัวแปลงสัญญาณที่เป็นกรรมสิทธิ์ ข้อมูลพิกเซลถูกจัดเก็บในรูปแบบบัฟเฟอร์ GEGL มาตรฐาน
การออมที่เพิ่มขึ้น
การบันทึกส่วนเพิ่มสามารถทำได้ผ่าน ไฟล์ → บันทึกส่วนเพิ่ม (Ctrl+I) สร้างจุดตรวจสอบการกู้คืนด้วยตนเองภายในโปรเจ็กต์โดยไม่ต้องแทนที่ ไฟล์ ปกติ → บันทึก (Ctrl+S) การบันทึกแบบเต็มยังคงอัปเดตโปรเจ็กต์ .lum หลัก ในขณะที่ Save Increation จะเขียนเฉพาะเลเยอร์ที่แก้ไขซึ่งจำเป็นสำหรับจุดตรวจสอบที่รวดเร็ว
ขี้เกียจโหลด
โครงการขนาดใหญ่เปิดเร็ว เลเยอร์พิกเซลจะถูกโหลดจากดิสก์เฉพาะเมื่อ:
- ทำให้ชั้นมองเห็นได้
- คุณทาสีบนเลเยอร์
- เลเยอร์ถูกส่งออกหรือรวมเข้าด้วยกัน
โปรเจ็กต์ขนาดใหญ่มาก (500+ เลเยอร์ ข้อมูลหลายกิกะไบต์) ยังคงตอบสนองได้ดี การโหลดแบบ Lazy Loading จะเปิดใช้งานตามค่าเริ่มต้น และสามารถสลับได้ใน แก้ไข → การตั้งค่า → ประสิทธิภาพ → ทรัพยากรหน่วยความจำ
บันทึกอัตโนมัติ
Lumi บันทึกการเปลี่ยนแปลงไปยัง ตำแหน่งแคชแยก (~/.cache/lumi/autosave/) โดยอัตโนมัติตามช่วงเวลาปกติ บันทึกอัตโนมัติไม่ขึ้นอยู่กับไฟล์ที่ใช้งานได้ และไม่มีการแก้ไข ช่วงเวลาและตำแหน่งแคชสามารถกำหนดค่าได้ใน แก้ไข → การตั้งค่า → ประสิทธิภาพ
การเข้าถึง
บันทึกและบันทึกเป็น
- ไฟล์ → บันทึก (Ctrl+S): บันทึกลงในไดเร็กทอรี
.lumปัจจุบัน - ไฟล์ → บันทึกส่วนเพิ่ม (Ctrl+I): สร้างจุดตรวจสอบการกู้คืนส่วนเพิ่มสำหรับไฟล์
.lumปัจจุบัน - ไฟล์ → บันทึกเป็น (Shift+Ctrl+S): บันทึกเป็นไฟล์
.lumใหม่ กล่องโต้ตอบบันทึกเป็นมีตัวเลือกการบีบอัดสำหรับไฟล์โปรเจ็กต์ใหม่
การเปลี่ยนแปลงที่ยังไม่ได้บันทึกจะแสดงด้วยเครื่องหมายดอกจัน (*) ในชื่อหน้าต่าง
ส่งออก
- ไฟล์ → ส่งออกเป็น (Shift+Ctrl+E): ส่งออกเป็น PNG, JPEG, TIFF หรือรูปแบบอื่นๆ
- ไฟล์ → เขียนทับ (Ctrl+E): ส่งออกซ้ำไปยังไฟล์ที่ส่งออกครั้งล่าสุด
การส่งออกจะทำให้เลเยอร์ที่มองเห็นเรียบลง และแปลงจากสเปกตรัมเป็นพื้นที่สี sRGB
นำเข้า
- ไฟล์ → เปิด (Ctrl+O): โหลดโปรเจ็กต์
.lum - ไฟล์ → เปิดเป็นเลเยอร์ (Shift+Ctrl+O): นำเข้าไฟล์
.lum, XCF หรือ PSD เป็นเลเยอร์ใหม่ - ไฟล์ → ไฟล์ล่าสุด: เข้าถึงโครงการที่เพิ่งเปิดได้อย่างรวดเร็ว
ไฟล์ PSD และ XCF จะถูกแปลงเป็นรูปแบบดั้งเดิมของ Lumi เมื่อนำเข้า
ความเข้ากันได้ในการนำเข้าและส่งออก
รูปแบบการนำเข้าที่รองรับ
- .lum: รูปแบบดั้งเดิมของ Lumi
- .xcf: รูปแบบดั้งเดิมของ GIMP (คงเลเยอร์และคุณสมบัติพื้นฐานไว้)
- .psd: รูปแบบ Photoshop (คงเลเยอร์และโหมดการผสมไว้)
- PNG, JPEG, TIFF ฯลฯ: การนำเข้ารูปภาพแบบแบน
รูปแบบการส่งออกที่รองรับ
- PNG: ไม่สูญเสียคุณภาพ พร้อมความโปร่งใสของอัลฟ่า
- JPEG: สูญเสีย แบน
- TIFF: Lossless หรือบีบอัด LZW
- XCF: รูปแบบความเข้ากันได้ของ GIMP ส่งออกเท่านั้น ชั้นและคุณสมบัติพื้นฐานยังคงอยู่
การกู้คืนโครงการLumi รักษาการบันทึกพื้นหลังอัตโนมัติและจุดตรวจสอบที่เพิ่มขึ้นด้วยตนเอง ซึ่งทั้งคู่สามารถเข้าถึงได้จาก ไฟล์ → กู้คืนรูปภาพ ดูหน้า การกู้คืนไฟล์ สำหรับรายละเอียดทั้งหมด
องค์กร
ไฟล์ .lum คือไดเร็กทอรีที่มีโครงสร้างคงที่:
my-painting.lum/
├── metadata.xml (image structure, layer tree, properties)
├── thumbnail-YYYYMMDD-HHMMSS.png (last-saved thumbnail)
├── drawables/
│ ├── layer-<name>.geglbuf (pixel data per layer)
│ └── mask-<name>.geglbuf (mask data, shares layer name)
├── icc/ (embedded colour profiles)
├── parasites/ (per-image metadata)
├── paths/ (vector paths as SVG)
├── configs/ (non-destructive filter configurations)
└── recovery/
└── primary-01.lum/ (first Save Increment baseline)
├── metadata.xml
├── drawables/ (only modified buffers)
├── delta-0001.lum/ (Ctrl+I checkpoint)
└── delta-0002.lum/บัฟเฟอร์เลเยอร์ตั้งชื่อตามเลเยอร์ (layer-Background.geglbuf) โดยไม่มีการกำหนดหมายเลขตามลำดับ ช่องว่างในชื่อเลเยอร์จะถูกจัดเก็บเป็นขีดล่าง เลเยอร์กลุ่มจะมีคำต่อท้าย -GROUP มาสก์แชร์ชื่อเลเยอร์ (mask-Background.geglbuf)
แต่ละ recovery/primary-NN.lum/ เป็นการบันทึกพื้นฐานแบบเต็ม การกด Ctrl+I ครั้งต่อไปจะผนวก delta-NNNN.lum/ ไดเร็กทอรีย่อยที่มีเฉพาะบัฟเฟอร์ที่แก้ไขตั้งแต่บรรทัดฐานสุดท้าย ทำให้จุดตรวจสอบบันทึกได้อย่างรวดเร็วโดยไม่คำนึงถึงขนาดโปรเจ็กต์
บันทึกอัตโนมัติเป็นไปตามโครงสร้างเดียวกัน แต่จะถูกจัดเก็บแยกกันใน ~/.cache/lumi/autosave/ โดยไม่เปลี่ยนแปลงไฟล์การทำงาน
- โปรเจ็กต์ขนาดใหญ่มาก: โปรเจ็กต์ที่มีข้อมูลมากกว่า 1,000 เลเยอร์และเทราไบต์จะได้รับประโยชน์สูงสุดจากการโหลดแบบ Lazy Loading อย่างไรก็ตาม การส่งออกขั้นสุดท้ายเป็นรูปแบบภาพแบนอาจต้องใช้เวลา
- ไดรฟ์เครือข่าย: รองรับการบันทึกไปยังไดเร็กทอรีที่ติดตั้งบนเครือข่าย แต่ช้ากว่าที่จัดเก็บในเครื่องเนื่องจากเวลาแฝง I/O