ไลบรารีการถอดรหัสรูปภาพ C/C++ SAIL 0.9.0 ได้รับการเผยแพร่แล้ว ซึ่งสามารถใช้ในการสร้างโปรแกรมดูรูปภาพ โหลดรูปภาพลงในหน่วยความจำ โหลดทรัพยากรเมื่อพัฒนาเกม ฯลฯ ไลบรารียังคงพัฒนาตัวถอดรหัสรูปแบบภาพ ksquirrel-libs จากโปรแกรม KSquirrel ต่อไปซึ่งเขียนใหม่จาก C++ เป็นภาษา C โปรแกรม KSquirrel มีมาตั้งแต่ปี 2003 (ปัจจุบันโครงการมีอายุ 20 ปีพอดี) แต่การพัฒนาของ โปรแกรมดูถูกยกเลิกในปี 2008 พร้อมกับ KDE3 รหัส SAIL ได้รับการเผยแพร่ภายใต้ใบอนุญาต MIT รองรับการทำงานบน Windows, macOS และ Linux
คุณสมบัติหลัก:
- API สี่ระดับ ระดับการแช่ที่ตื้นที่สุดคือระดับจูเนียร์ ซึ่งเป็นไปได้ที่จะโหลดเพียงเฟรมเดียวโดยใช้โค้ดสองบรรทัด: struct sail_image *image; SAIL_TRY(sail_load_from_file(เส้นทาง, &รูปภาพ));
ระดับความลึกที่ลึกที่สุดคือการโหลดภาพเคลื่อนไหวหรือรูปภาพหลายหน้าจากแหล่งที่ไม่ได้มาตรฐาน (ไม่ใช่จากไฟล์หรือจากหน่วยความจำ)
- รองรับการโหลดจากไฟล์หรือจากหน่วยความจำ
- ตัวแปลงสัญญาณที่โหลดแบบไดนามิก ความสามารถในการคอมไพล์ตัวแปลงสัญญาณเป็นไลบรารีเดียว (-DSAIL_COMBINE_CODECS=ON) หากการโหลดแบบไดนามิกไม่สะดวกด้วยเหตุผลบางประการ
- รหัสนี้เขียนด้วยภาษา C11 โดยมีการเชื่อมโยง C++11
- มีอยู่ใน Conan, vcpkg, brew package managers (PR บางตัวกำลังรอการรวมเข้าด้วยกัน)
- รองรับรูปแบบภาพสมัยใหม่ทั้งหมด: JPEG, PNG, TIFF, GIF, AVIF, WEBP, JPEG XL เป็นต้น
- มีประสิทธิภาพเหนือกว่าคู่แข่งเกือบทั้งหมด เช่น STB หรือ FreeImage
ที่มา: opennet.ru