경량 C++ 이미지 라이브러리
C++를 위한 간단하고 작지만 강력하고 빠른(종합적이지 않은!) 이미지 라이브러리를 찾고 있었습니다(C++ 버전이 없다면 C로도 충분합니다).
제가 찾고 있는 주요 기능은 다음과 같습니다.
- 무료(오픈소스는 플러스)
- 속도에 맞게 제작됨
- 큰 기능성 팽만감 없음(예:
ImageMagik
, 그것은 정말 포괄적이지만 매머드입니다.) - 작은 메모리 설치 공간
- 로드/저장, 크기 조정, 형식 간 변환과 같은 기능의 절대 최소값만 지원합니다.별것도 아닌
- "파손된" 파일에 대한 오류 복구(예: 그렇지 않음
stb_image.c
, 오류 복구가 상당히 불량한 경우) - MSVC 및 gcc 친화적(사용)
CxImage
몇 년 동안이나 MSVC 2010에 문제가 있었는데, 지금쯤은 적극적인 개발과 지원이 사라진 것 같아 포기하려고 합니다.) - JPEG2000과 같은 인기있는 현대 형식을 직접 지원하거나 다음과 같은 일반 라이브러리를 사용하여 지원해야 합니다.
libpng
- 이미지를 표시하는 데 사용할 계획이 없기 때문에 DirectX든 OpenGL이든 상관하지 않고 웹 사이트용으로 파일 처리만
- 정적 및 동적 링크를 모두 지원하는 것은 이점입니다.
- 스레드 지원은 큰 이점입니다.
이런저런 이유로 도서관들을 살펴보다가 그만뒀습니다.
- CxImage (더 이상 개발이 활성화되지 않음)
- ImageMagik - 너무 큼(그리고 느림)
- stb_image.c - 잘못된 오류 처리, 이미지 형식 지원 안 함
- DevIL(아직 해고하지 않았지만 많이 살펴보지 않았습니다. SO에 대한 유사한 게시물에서 몇 분 전에 알게 되었습니다.) - 크기와 기능 세트를 기준으로 볼 때 제가 필요로 하는 것에 대해 매우 유망합니다.
- FreeImage (DevIL과 동일 - 잠시 후에 보겠지만 제 취향에는 사이즈가 좀 큽니다)
- SOIL(stb_image.c와 동일)
- TimThumb - C/C++가 아닌 PHP입니다.
간단히 말해서, 저는 단지 기능의 절대적인 최소값을 가지는 대신에 가능한 한 작고 빠른 것을 원할 뿐입니다. 하지만 저는 아직 적절한 후보를 찾지 못했습니다.
이 커뮤니티에서 어떤 제안이라도 해주실 수 있나요?하지만 위에 나열한 제약 조건을 기억하세요 - "X"가 제 요구의 절반을 충족하지 못하는 "X를 시도해 보셨나요?"라는 형식의 답변을 던지는 것은 괜찮다고 생각하지 않습니다. :)
편집: DevIL을 좀 더 들여다보면 내가 필요로 하는 것이 될 수 있을 것 같습니다.가볍고, 작고, 튼튼합니다.이제 저는 그것이 제대로 작동하는지 확인해야 합니다.아, 그리고 CImage (목록에 언급하는 것을 잊었습니다) - 성능이 마음에 들지 않았습니다 (템플릿 전용 구현이라는 아이디어가 귀엽다는 것은 말할 것도 없지만)
libpng와 jpeglib을 중심으로 작은 라이브러리를 작성할 것을 강력히 제안합니다(그리고 지원해야 하는 형식은 다른 모든 낮은 수준의 라이브러리).그렇게 어렵지는 않고 필요한 모든 기능을 코드화할 수 있습니다.
또는 해당 라이브러리에 이미 존재하는 일부 좋은 c++ 래퍼를 사용할 수도 있습니다.다음은 몇 가지 예입니다.
CImg 라이브러리를 보세요, 헤더 파일이 하나일 뿐입니다.
언급URL : https://stackoverflow.com/questions/11816571/light-weight-c-image-library
'programing' 카테고리의 다른 글
테이블을 떨어뜨리면 MySQL이 중단됩니다. (0) | 2023.10.02 |
---|---|
도커 컨테이너가 즉시 종료되는 이유 (0) | 2023.10.02 |
Oracle sql null 값이 선택되지 않았습니다. (0) | 2023.10.02 |
ESNext란? (0) | 2023.10.02 |
멀티 테넌시(Multi-tenancy): Spring Data JPA로 여러 데이터 소스 관리 (0) | 2023.10.02 |