Прикреплённый файл «xpmex.c»
Загрузка 1 #include <stdio.h>
2 #include <string.h>
3 #include <stdlib.h>
4 #include "face.xpm"
5
6 int main(int argc, char *argv[]) {
7 int Width, Height, PSize, BPP;
8 int size;
9 int beg, end, y, x, len;
10 char **newface;
11 FILE *fout;
12
13 /* Извлекаем размеры картинки и палитры */
14 /* ВНИМАНИЕ! Для простоты считаем, что BPP=1 */
15 sscanf(face[0], "%d %d %d %d", &Width, &Height, &PSize, &BPP);
16
17 /* Область картинки */
18 beg = PSize+1;
19 end = PSize+Height+1;
20
21 /* Копия картинки, доступная для модификации */
22 newface = calloc(end, sizeof(char *));
23 for(y=size=0; y<end; y++) {
24 len = strlen(face[y]);
25 strcpy(newface[y]=malloc(len+1), face[y]);
26 }
27
28 /* Удаляем все '*' (красные точки) */
29 for(y=beg; y<end; y++)
30 for(x=0; x<Width; x++)
31 if(newface[y][x] == '*')
32 newface[y][x] = ' ';
33
34 /* Посмотрим на безротую картинку */
35 for(y=beg; y<end; y++)
36 puts(newface[y]);
37
38 /* Перевернём рот. ВНИМАНИЕ! Мы заранее знали, в каких он строках */
39 for(y=0; y<4; y++)
40 for(x=0; x<Width; x++)
41 if(face[end-8+y][x] == '*')
42 newface[end-7-y][x] = '*';
43
44 /* Создадим XPM-файл. ВНИМАНИЕ! Индентификатор картинки задан заранее */
45 fout = fopen("sadface.xpm","w");
46 fputs("/* XPM */",fout);
47 fputs("static char * sadface[] = {",fout);
48 for(y=0; y<end-1; y++)
49 fprintf(fout,"\"%s\",\n",newface[y]);
50 fprintf(fout,"\"%s\"};\n",newface[y]);
51 fclose(fout);
52
53 return 0;
54 }
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2016-11-10 12:03:30, 34.1 KB) [[attachment:colorpick.jpg]]
- [получить | показать] (2016-11-10 15:30:32, 1.3 KB) [[attachment:face.xpm]]
- [получить | показать] (2016-11-10 15:46:37, 49.3 KB) [[attachment:gvimxpm.jpg]]
- [получить | показать] (2016-11-10 10:21:04, 0.4 KB) [[attachment:rbomb.png]]
- [получить | показать] (2016-11-10 10:21:34, 1.3 KB) [[attachment:rbomb.xpm]]
- [получить | показать] (2016-11-10 12:04:11, 16.9 KB) [[attachment:rgb.txt]]
- [получить | показать] (2016-11-10 15:04:39, 1.3 KB) [[attachment:sadface.xpm]]
- [получить | показать] (2016-11-10 15:03:27, 1.6 KB) [[attachment:xpmex.c]]
Вам нельзя прикреплять файлы к этой странице.