MIT лицензийн дагуу
Онцлог шинжүүд:
- Гуравдагч талын хамааралгүй (кодекүүдээс бусад) C хэл дээр бичигдсэн энгийн, авсаархан, хурдан номын сан;
- Бүх хэрэгцээнд зориулагдсан энгийн, ойлгомжтой, нэгэн зэрэг хүчирхэг API;
- C++-ийн холболтууд;
- Зургийн форматыг динамикаар ачаалагдсан кодлогч дэмждэг;
- Файл, санах ой, бүр өөрийн мэдээллийн эх сурвалжаас зураг унших (бичих);
- Зургийн төрлийг файлын өргөтгөлөөр эсвэл өөр аргаар тодорхойлох
ид шидийн тоо ; - Одоогоор дэмжигдсэн форматууд:
png (унших, зөвхөн Windows), JPEG (унших, бичих) PNG (унших, бичих).
Шинэ формат нэмэх ажил хийгдэж байна. KSquirrel-libs нь нэг талаараа 60 орчим форматыг дэмждэг бөгөөд хамгийн алдартай форматууд нь эхний эгнээнд байдаг; - Унших үйлдлүүд нь үргэлж RGB болон RGBA форматаар пикселүүдийг гаргаж чаддаг;
- Зарим кодлогч нь илүү том форматын жагсаалтад пиксел гаргаж чаддаг;
- Ихэнх кодлогч нь мөн SOURCE пикселийг гаргаж чаддаг. Энэ нь жишээлбэл, CMYK эсвэл YCCK зургуудаас бүрэн мэдээлэл авахыг хүсдэг хүмүүст хэрэгтэй;
- ICC профайлыг унших, бичих;
- C, Qt, SDL хэл дээрх жишээнүүд;
- Дэмжигдсэн платформууд:
Windows (суулгагч), macOS (brew) болон Linux (Debian).
SAIL юу өгдөггүй вэ:
- Зураг засварлах;
- Үндсэн кодлогч (libjpeg гэх мэт) -ээс бусад өнгөний орон зай хувиргах функцууд;
- Өнгөний удирдлагын функцууд (ICC профайлыг ашиглах гэх мэт)
C хэл дээрх код тайлах хамгийн энгийн жишээ:
struct sail_context *контекст;
SAIL_TRY(sail_init(&context));
struct sail_image *зураг;
тэмдэггүй тэмдэгт *зураг_пиксел;
SAIL_TRY(дарвуулт_унших(зам,
нөхцөл байдал,
&зураг,
(хүчингүй **)&зураг_пиксел));
/*
* Энд хүлээн авсан пикселийг боловсруулна.
* Үүнийг хийхийн тулд зураг->өргөн, зураг->өндөр, зураг->мөр тутамд_байт,
* ба зураг->пикселийн_формат.
*/
/* Цэвэрлэх */
үнэгүй(зураг_пиксел);
дарвуулт_устгах_зураг(зураг);
API түвшний товч тайлбар:
- Шинэхэн: "Би энэ JPEG-г татаж авмаар байна"
- Нарийвчилсан: "Би энэ хөдөлгөөнт GIF-г санах ойноос ачаалмаар байна"
- Далайн гүний шумбагч: "Би энэ хөдөлгөөнт GIF-г санах ойноос ачаалж, сонгосон кодлогч болон пикселийн гаралтыг бүрэн хянахыг хүсч байна."
- Техникийн шумбагч: "Би дээрх бүх зүйлийг, мөн өөрийн мэдээллийн эх сурвалжийг хүсч байна"
Нэг бүсээс шууд өрсөлдөгчид:
- Үнэгүй дүрс
- DevIL
- SDL_Зураг
- WIC
- imlib2
- Boost.GIL
- gdk-pixbuf
Бусад номын сангаас ялгаатай нь:
- Хүлээгдэж буй объектуудтай хүний API - зураг, палитр гэх мэт.
- Ихэнх кодлогч нь зөвхөн RGB/RGBA пикселээс илүүг гаргаж чаддаг.
- Ихэнх кодлогч нь RGB рүү хөрвүүлэхгүйгээр анхны пикселийг гаргаж чаддаг.
- Та ямар ч хэл дээр кодлогч бичих боломжтой, мөн төслийг бүхэлд нь дахин эмхэтгэхгүйгээр нэмж, устгаж болно.
- Анхны зургийн талаархи мэдээллийг хадгалах.
- "Шинжлэх" гэдэг нь пикселийн өгөгдлийг тайлахгүйгээр зургийн талаарх мэдээллийг олж авах үйл явц юм.
- Хэмжээ ба хурд.
Эх сурвалж: opennet.ru