SAIL зургийн код тайлах номын санд хэд хэдэн томоохон шинэчлэлтүүд нийтлэгдсэн бөгөөд энэ нь удаан хугацааны туршид ашиглагдаагүй KSquirrel зураг үзүүлэгчийн кодлогчийг C дахин бичих боломжийг олгодог боловч өндөр түвшний хийсвэр API болон олон тооны сайжруулалтуудтай. Номын санг ашиглахад бэлэн болсон ч тасралтгүй сайжруулсаар байна. Хоёртын болон API нийцтэй байдал хараахан баталгаажаагүй байна. Жагсаал.
SAIL-ийн онцлог
- Хурдан бөгөөд ашиглахад хялбар номын сан;
- C11 хэл дээр C++ 17-тэй холбосон;
- Зургийн форматыг дэмжих нь динамикаар ачаалагдсан кодлогчоор хэрэгждэг бөгөөд үүнийг үйлчлүүлэгчийн талаас үл хамааран устгаж, нэмж болно;
- Файл, санах ой, өөрийн эх сурвалжаас унших;
- Олон хуудас болон хөдөлгөөнт дүрсийг дэмжих;
- Алдартай форматуудын дэмжлэгийг libjpeg, libpng гэх мэт харгалзах сангуудыг ашиглан хийж байна.
- Хөндлөн платформ: Linux, Windows, macOS;
- "Шинжлэх" - пикселийг тайлахгүйгээр зургийн талаархи мэдээллийг авах;
- Хүний байгууллагын нэр (FIMULTIBITMAP байхгүй);
- ICC профайлыг унших, бичих;
- RGBA эсвэл BGRA пикселийг илгээдэг;
- Хэрэв кодлогч дэмждэг бол анхны пикселийг (жишээ нь, CMYK) буцаана;
Сүүлд нийтлэгдсэнээс хойш гарсан өөрчлөлтүүдийн жагсаалт:
- API нь мэдэгдэхүйц сайжирч, хялбаршуулсан. Байсан: struct sail_context *контекст; SAIL_TRY(sail_init(&context)); struct sail_image *зураг; тэмдэггүй тэмдэгт *зураг_пиксел; SAIL_TRY(дарвуулт_унших(зам, контекст, &зураг, (хүчингүй **)&зураг_пиксел)); ... үнэгүй(зураг_пиксел); дарвуулт_устгах_зураг(зураг);
Одоо: struct sail_image *зураг; SAIL_TRY(дарвуулт_унших_файл(зам, &зураг); ... дарвуулт_устгах_зураг(зураг);
- BMP, GIF, TIFF форматыг нэмсэн;
- UWP-ээс бусад бүх платформ дээр VCPKG ашиглах боломжтой;
- Гүйцэтгэлийн жишиг туршилтыг нийтэлсэн;
- C++ холболтыг C++ 17 руу шилжүүлсэн;
- Санах ойн хуваарилалтын функцийг нэг дор цуглуулсан тул тэдгээрийг өөрийнхөөрөө амархан сольж болох боловч одоогоор үүнийг зөвхөн дахин эмхэтгэх замаар хийх боломжтой;
- Хэрэглэгчид одоо CMake find_package()-г ашиглан SAIL-г холбох боломжтой;
- Статик байдлаар эмхэтгэх чадварыг нэмсэн (SAIL_STATIC=ON);
- Бүх кодлогчийг нэг нийтлэг номын санд нэгтгэх чадварыг нэмсэн (SAIL_COMBINE_CODECS=ON);
- µnit-д суурилсан туршилтуудыг нэмэх ажил эхэлсэн;
Санал болгож буй суулгах арга
- Linux - vcpkg, Debian дүрмүүд бас байдаг
- Windows - vcpkg
- macOS - нэрэх
Эх сурвалж: opennet.ru