X 픽스맵
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
X 픽스맵(XPM)은 X 윈도 시스템에서 사용되는 이미지 파일 형식이다. XPM은 1989년에 처음 등장했으며, 텍스트 기반으로 이미지의 크기, 색상 수, 픽셀 데이터를 저장한다. XBM에서 발전하여 컬러 이미지를 지원하며, XPM2 (1990)와 XPM3 (1991)과 같은 여러 버전이 있다. XPM 파일은 이미지 편집과 관리가 용이하며, ACDSee, GIMP, ImageMagick, 포토샵 등 다양한 응용 프로그램에서 지원된다.
더 읽어볼만한 페이지
- X 윈도 시스템 - 데스크톱 환경
데스크톱 환경은 아이콘, 창, 메뉴 등으로 컴퓨터 화면을 책상처럼 보이게 하는 시각적 인터페이스로, 창 관리자, 파일 관리자 등으로 구성되어 파일 관리 및 프로그램 실행을 지원하며, 다양한 종류가 존재하여 사용자가 선택할 수 있다. - X 윈도 시스템 - 오픈 그룹
오픈 그룹은 다양한 기술 공급업체, 구매자, 정부 기관을 포함하는 국제 컨소시엄으로, 표준 개발, 인증 프로그램 운영, TOGAF와 같은 IT 아키텍처 프레임워크 제공 및 UNIX 상표 권리 보유를 통해 개방형 IT 표준 개발 및 보급에 기여한다. - 그래픽 파일 포맷 - JPEG
JPEG은 정지 화상의 디지털 압축 및 코딩을 위한 국제 표준이자 이를 만든 위원회의 이름으로, 1992년 최초 표준 발표 이후 웹 환경에서 널리 사용되는 이미지 형식이 되었다. - 그래픽 파일 포맷 - BMP 파일 포맷
BMP 파일 포맷은 마이크로소프트에서 정의한 다양한 색상 깊이를 가진 컬러 비트맵 표현 방식으로, 장치 독립 비트맵이라고도 불리며, BMP 헤더, 비트맵 정보, 색 팔레트, 비트맵 데이터 등으로 구성되어 높은 호환성을 가지지만 압축을 거의 하지 않아 파일 크기가 큰 편이다.
X 픽스맵 - [IT 관련 정보]에 관한 문서 | |
---|---|
X 픽스맵 | |
![]() | |
파일 확장자 | .xpm |
마임 타입 | image/x-xpixmap (비공식) |
개발 | BULL 리서치 |
종류 | 이미지 파일 포맷 |
기반 | XBM |
개방 여부 | 예 |
2. 역사
X 픽스맵(XPM)은 1989년 X 비트맵(XBM) 형식과 유사한 형태로 처음 등장했다.[1] XBM과 비교하여 인덱싱된 색상에 대한 추가 매크로 정의와 변수를 사용하며, 이미지를 설명하기 위해 비트를 문자로 대체했다.
1990년에 발표된 XPM2는 C 코드를 제거하여 형식을 단순화했다.[1] XPM2는 X11 색상 이름이나 16진수 코드를 사용해 색상을 정의하고, `None` 값으로 투명도를 표현할 수 있게 했다. 또한, 단일 문자나 여러 문자를 조합해 더 많은 색상을 표현하는 방식을 사용한다.
1991년에 발표된 XPM3은 현재 사용되는 형식으로, C 언어 래퍼를 다시 도입했지만 파일 구조를 명시적으로 보여주는 대신 저장된 문자열은 XPM2와 기본적으로 동일하다.[1] "values" 행에 6개의 숫자가 포함된 경우, 추가된 값은 마우스 포인터 등에 사용되는 "핫스팟"의 좌표를 나타낸다.
2. 1. XPM1 (1989)
1989년에 처음 등장한 X 픽스맵(XPM) 형식은 X 비트맵(XBM) 형식과 비교적 유사하다.[1] XBM과 비교하여, 인덱싱된 색상에 대한 추가 매크로 정의와 변수를 사용하며, 이미지를 설명하기 위해 비트를 문자로 대체한다. 다음은 1989년 XPM 형식으로 표현된 흑백 이미지이다.```text
#define XFACE_format 1
#define XFACE_width 48
#define XFACE_height 48
#define XFACE_ncolors 2
#define XFACE_chars_per_pixel 1
static char *XFACE_colors[] = {
"a", "#ffffff",
"b", "#000000"
};
static char *XFACE_pixels[] = {
"abaabaababaaabaabababaabaabaababaabaaababaabaaab",
// 48개의 행과 48개의 픽셀에 대한 내용이 여기에 이어진다.
2. 2. XPM2 (1990)
XPM2 (1990)는 C 코드를 모두 제거하여 형식을 단순화했다. 구조는 다음과 같다.```text
! XPM2
```
- 값 섹션은 이미지의 전체 치수를 설명한다.
- 색상 섹션은 값을 정의하며, 색상의 "유형"을 정의한다. 유형은 정의된 색상이 수행할 작업을 설명하는 "color"의 '''c''', "monochrome" 출력의 '''m''', "grayscale"의 '''g''', "symbolic"의 '''s'''가 될 수 있다.
- 픽셀 및 선택적 확장은 원래 형식과 동일하게 유지된다.
폭 48, 높이 4, 2색, 픽셀당 1자 문자가 있는 파일의 예시는 다음과 같다.
```text
! XPM2
48 4 2 1
a c #FFFFFF
b c #000000
abaabaababaaabaabababaabaabaababaabaaababaabaaab
abaabaababaaabaabababaabaabaababaabaaababaabaaab
abaabaababaaabaabababaabaabaababaabaaababaabaaab
abaabaababaaabaabababaabaabaababaabaaababaabaaab
```
XPM2는 X11 색상 이름이나 16진수 코드를 사용해 색상을 정의하고, `None` 값으로 투명도를 표현할 수 있게 했다. 또한, 단일 문자나 여러 문자를 조합해 더 많은 색상을 표현하는 방식을 사용한다. (자세한 내용은 ==== 색상 ====, ==== 다중 색상 인코딩 ==== 하위 섹션 참조)
2. 2. 1. 색상
XPM2 (1990)에서는 색상을 정의하는 방식을 개선하여 X11 색상 이름이나 16진수 코드를 사용할 수 있게 하였다. 또한 `None` 값을 사용하여 투명도를 표현할 수 있다.[4][5]색상 값은 다음과 같은 형식으로 지정한다.
```
! XPM2
48 4 2 1
a c #FFFFFF
b c #000000
```
여기서 `a`와 `b`는 픽셀에 사용될 문자, `c`는 색상 유형(color), `#FFFFFF`와 `#000000`은 16진수 색상 코드이다.
"상징적" 기능을 사용하면 문맥에 따라 색상을 조정할 수 있다. 예를 들어 `s border c blue`와 같은 코드는 파란색 배경에서 색상이 조정될 수 있도록 한다.
2. 2. 2. 다중 색상 인코딩
XPM2는 더 많은 색상을 표현하기 위해 단일 문자 또는 여러 문자를 조합하는 인코딩 방식을 사용한다. 16가지 색상은 '''a'''부터 '''p'''까지, 256가지 색상은 '''aa'''부터 '''pp'''까지 사용하는 식이다. Base64와 비교했을 때, 더 많은 색상을 표현하려면 더 많은 문자를 사용해야 한다.[1]문자열 '''ab'''가 실제로는 두 인접 픽셀 '''dabc'''의 중간 부분일 수 있기 때문에, 텍스트 편집기에서는 이러한 방식이 덜 유용할 수 있다. 공백도 색상 코드로 사용할 수 있지만, 텍스트 편집기에 따라 문제가 될 수 있다. 제어 코드, 백슬래시, 따옴표를 제외하면 93개의 ASCII 문자를 단일 문자 색상 코드에 사용할 수 있다.[1]
90개의 US-ASCII 문자를 10개 문자로 구성된 9개의 중복되지 않는 세트로 배열할 수 있다. 이를 통해 9개 문자로 구성된 문자열은 최대 109 = 가지 색상으로 각 픽셀의 XPM 팔레트 색인을 설정할 수 있다. 이는 256가지 색상만 지원하는 GIF와 비교된다.[1]
2. 3. XPM3 (1991)
XPM3 (1991)은 현재 사용되는 형식으로, C 언어 래퍼를 다시 도입했지만 파일 구조를 명시적으로 보여주는 대신 저장된 문자열은 XPM2와 기본적으로 동일하다.```c
/* XPM */
static char * XFACE[] = {
"48 4 2 1",
"a c #ffffff",
"b c #000000",
"abaabaababaaabaabababaabaabaababaabaaababaabaaab",
"abaabaababaaabaabababaabaabaababaabaaababaabaaab",
"abaabaababaaabaabababaabaabaababaabaaababaabaaab",
"abaabaababaaabaabababaabaabaababaabaaababaabaaab"
};
```
"values" 행에 6개의 숫자가 포함된 경우, 추가된 값은 아이콘과 기본값을 포함하는 상자의 왼쪽 상단 모서리가 '''0 0'''인 "핫스팟"의 좌표를 나타낸다. "핫스팟"은 마우스 포인터 및 유사한 응용 프로그램에 사용된다.
3. 데이터 형식
X 픽스맵(XPM) 파일은 다음과 같은 구조로 구성된다.
# 크기, 색상 수, 핫스팟(선택 사항) 정의
# 색상 정의
# 픽셀 데이터
색상 지정은 X 윈도 시스템 등에서 사용되는 색상 이름 또는 16진수 코드를 사용한다.
다음은 XPM 형식의 예시이다.
```c
/* XPM */
static char * roundb_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"13 13 5 2 7 7",
/* colors */
" s none m none c none",
". s topShadowColor m white c lightblue",
"X s iconColor1 m black c black",
"o s bottomShadowColor m black c #646464646464",
"O s selectColor m white c red",
/* pixels */
" ",
" . . . ",
" . . X X X o o ",
" . X X X X X X X o ",
" . X X X X X X X o ",
" . X X X X O X X X X o ",
" . X X X O O O X X X o ",
" . X X X X O X X X X o ",
" . X X X X X X X o ",
" . X X X X X X X o ",
" o o X X X o o ",
" o o o ",
" "
};
4. 다른 형식과의 비교
XPM은 흑백 이미지 형식인 X 비트맵(XBM)에서 발전한 컬러 이미지 형식이다. 아래는 동일한 Blarg 파일을 XBM, XPM, PBM 형식으로 나타낸 것이다.
형식 | 코드 | |
---|---|---|
XBM | ||
XPM2 | ![]() | XPM2 |
XPM3 | ||
PBM |
5. 응용 프로그램 지원
ACDSee, GIMP, ImageMagick, IrfanView (포맷 플러그인), 포토샵 (플러그인) 등이 XPM 형식을 지원한다.[6][7] Gravatar도 XPM 형식을 지원한다.[8][9]
참조
[1]
문서
.xpm MIME type not registered at IANA
https://www.iana.org[...]
[2]
서적
XPM Manual: The X PixMap Format
http://www.xfree86.o[...]
Groupe Bull
1996-02-01
[3]
웹사이트
The XPM Story
http://www.w3.org/Pe[...]
1996-07-15
[4]
웹사이트
The XPM FAQ
http://www.ibiblio.o[...]
X.Org Foundation
1996
[5]
서적
XPM File Format Summary
https://archive.org/[...]
O'Reilly & Associates
1996
[6]
웹사이트
.xpm Extension
http://extension.nir[...]
[7]
웹사이트
File Type: X Windows Pixmap
http://shell.windows[...]
Microsoft
2013
[8]
문서
Gravatar unofficial, no XPM2
[9]
웹사이트
Picons Archive
http://kinzler.com/p[...]
2005
[10]
웹사이트
libXpm library contains multiple integer overflow vulnerabilities
http://www.kb.cert.o[...]
2005-10-06
[11]
웹사이트
X.Org Security Advisory: Issues handling XPM files in libXpm prior to 3.5.15
https://lists.x.org/[...]
2023-01-17
[12]
웹사이트
FFmpeg 3.3 "Hilbert"
https://www.ffmpeg.o[...]
FFmpeg
2017-04-13
[13]
문서
.xpm MIME type not registered at IANA
https://www.iana.org[...]
[14]
서적
XPM Manual: The X PixMap Format
http://www.xfree86.o[...]
Groupe Bull
1996-02-01
[15]
웹인용
The XPM Story
http://www.w3.org/Pe[...]
1996-07-15
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com