การอัปเดตที่สำคัญหลายประการสำหรับไลบรารีการถอดรหัสรูปภาพ SAIL ได้รับการเผยแพร่ โดยให้การเขียน C ใหม่ของตัวแปลงสัญญาณจากโปรแกรมดูรูปภาพ KSquirrel ที่เลิกใช้งานไปนานแล้ว แต่มี API เชิงนามธรรมระดับสูงและการปรับปรุงมากมาย ห้องสมุดพร้อมใช้งานแต่ยังคงมีการปรับปรุงอย่างต่อเนื่อง ยังไม่รับประกันความเข้ากันได้ของไบนารีและ API สาธิต.
คุณสมบัติของ SAIL
- ห้องสมุดที่รวดเร็วและใช้งานง่าย
- เขียนในภาษา C11 โดยเชื่อมโยงกับ C++17;
- การรองรับรูปแบบภาพนั้นดำเนินการโดยตัวแปลงสัญญาณที่โหลดแบบไดนามิก ซึ่งสามารถลบและเพิ่มได้โดยอิสระจากฝั่งไคลเอ็นต์
- การอ่านจากไฟล์ หน่วยความจำ แหล่งที่มาของตัวเอง
- รองรับรูปภาพหลายหน้าและภาพเคลื่อนไหว
- การรองรับรูปแบบยอดนิยมยังคงทำได้โดยใช้ไลบรารีที่เกี่ยวข้อง libjpeg, libpng ฯลฯ
- ข้ามแพลตฟอร์ม: Linux, Windows, macOS;
- “ การตรวจสอบ” - รับข้อมูลเกี่ยวกับภาพโดยไม่ต้องถอดรหัสพิกเซล
- ชื่อนิติบุคคลของมนุษย์ (ไม่มี FIMULTIBITMAP)
- การอ่านและการเขียนโปรไฟล์ ICC
- ส่งพิกเซล RGBA หรือ BGRA;
- ส่งกลับพิกเซลดั้งเดิม (เช่น CMYK) หากตัวแปลงสัญญาณรองรับ
รายการการเปลี่ยนแปลงตั้งแต่การเผยแพร่ครั้งล่าสุด:
- API ได้รับการปรับปรุงและทำให้ง่ายขึ้นอย่างมาก เคยเป็น: struct sail_context *context; SAIL_TRY(sail_init(&บริบท)); struct sail_image * รูปภาพ; ถ่านที่ไม่ได้ลงนาม *image_pixels; SAIL_TRY(sail_read(เส้นทาง, บริบท, &รูปภาพ, (โมฆะ **)&image_pixels)); ...ฟรี(image_pixels); sail_destroy_image (ภาพ);
ตอนนี้: struct sail_image *image; SAIL_TRY(sail_read_file(path, &image); ... sail_destroy_image(รูปภาพ);
- เพิ่มรูปแบบ BMP, GIF, TIFF;
- ความพร้อมใช้งานใน VCPKG บนทุกแพลตฟอร์ม ยกเว้น UWP
- เผยแพร่การทดสอบประสิทธิภาพเกณฑ์มาตรฐาน;
- การรวม C ++ ถูกย้ายไปที่ C ++ 17;
- ฟังก์ชันการจัดสรรหน่วยความจำถูกรวบรวมไว้ในที่เดียวเพื่อให้สามารถแทนที่ด้วยฟังก์ชันของคุณเองได้อย่างง่ายดาย แต่ในขณะนี้สามารถทำได้โดยการคอมไพล์ใหม่เท่านั้น
- ขณะนี้ผู้ใช้สามารถใช้ CMake find_package() เพื่อเชื่อมต่อ SAIL;
- เพิ่มความสามารถในการคอมไพล์แบบคงที่ (SAIL_STATIC=ON);
- เพิ่มความสามารถในการรวบรวมตัวแปลงสัญญาณทั้งหมดลงในไลบรารีทั่วไปเดียว (SAIL_COMBINE_CODECS=ON)
- งานได้เริ่มขึ้นแล้วในการเพิ่มการทดสอบแบบอิงนิต
วิธีการติดตั้งที่แนะนำ
- Linux - vcpkg, กฎ Debian ก็มีให้บริการเช่นกัน
- Windows - vcpkg
- macOS - ชง
ที่มา: opennet.ru