Compare commits
No commits in common. "81611a34918a1c154ddc6955f9b78f4df62f0cc0" and "cb94093c3079a2ba3c92c0c4e4b01f934ef2e7c0" have entirely different histories.
81611a3491
...
cb94093c30
2
.gitignore
vendored
2
.gitignore
vendored
@ -6,14 +6,12 @@ libtthimage.a
|
|||||||
Lib/foo
|
Lib/foo
|
||||||
Lib/testtga
|
Lib/testtga
|
||||||
Lib/t_t16x24
|
Lib/t_t16x24
|
||||||
Lib/testbmp
|
|
||||||
|
|
||||||
Tools/genplot2
|
Tools/genplot2
|
||||||
|
|
||||||
Tools/tga_cadre
|
Tools/tga_cadre
|
||||||
Tools/tga_combine
|
Tools/tga_combine
|
||||||
Tools/tga_dither
|
Tools/tga_dither
|
||||||
Tools/tga_export
|
|
||||||
Tools/tga_tools
|
Tools/tga_tools
|
||||||
Tools/tga_effects
|
Tools/tga_effects
|
||||||
Tools/tga_equalize
|
Tools/tga_equalize
|
||||||
|
13
Lib/Makefile
13
Lib/Makefile
@ -16,7 +16,6 @@ all: foo testtga
|
|||||||
|
|
||||||
basic_io.o: basic_io.c $(DEPS)
|
basic_io.o: basic_io.c $(DEPS)
|
||||||
bitblt.o: bitblt.c $(DEPS)
|
bitblt.o: bitblt.c $(DEPS)
|
||||||
bmp.o: bmp.c $(DEPS) bmp.h
|
|
||||||
|
|
||||||
cadres.o: cadres.c $(DEPS)
|
cadres.o: cadres.c $(DEPS)
|
||||||
cadres2.o: cadres2.c $(DEPS)
|
cadres2.o: cadres2.c $(DEPS)
|
||||||
@ -90,7 +89,6 @@ pht.o: pht.c $(DEPS)
|
|||||||
pixeliz.o: pixeliz.c $(DEPS)
|
pixeliz.o: pixeliz.c $(DEPS)
|
||||||
pixels.o: pixels.c $(DEPS)
|
pixels.o: pixels.c $(DEPS)
|
||||||
plotteur.o: plotteur.c $(DEPS)
|
plotteur.o: plotteur.c $(DEPS)
|
||||||
pnm.o: pnm.c $(DEPS)
|
|
||||||
pov_hf15a.o: pov_hf15a.c $(DEPS)
|
pov_hf15a.o: pov_hf15a.c $(DEPS)
|
||||||
pov_hf15b.o: pov_hf15b.c $(DEPS)
|
pov_hf15b.o: pov_hf15b.c $(DEPS)
|
||||||
pov_hf15c.o: pov_hf15c.c $(DEPS)
|
pov_hf15c.o: pov_hf15c.c $(DEPS)
|
||||||
@ -128,7 +126,7 @@ zoom.o: zoom.c $(DEPS)
|
|||||||
#-----------------------------------------------------------------
|
#-----------------------------------------------------------------
|
||||||
|
|
||||||
OBJECTS = 7seg.o \
|
OBJECTS = 7seg.o \
|
||||||
basic_io.o bitblt.o bmp.o \
|
basic_io.o bitblt.o \
|
||||||
cadres2.o cadres3.o cadres4.o cadres84.o cadresbox.o \
|
cadres2.o cadres3.o cadres4.o cadres84.o cadresbox.o \
|
||||||
cadres.o \
|
cadres.o \
|
||||||
calculs.o classif.o \
|
calculs.o classif.o \
|
||||||
@ -151,7 +149,6 @@ OBJECTS = 7seg.o \
|
|||||||
palettes.o \
|
palettes.o \
|
||||||
patterns.o patterns2.o patterns3.o patterns4.o \
|
patterns.o patterns2.o patterns3.o patterns4.o \
|
||||||
photomaton.o pht.o pixeliz.o pixels.o plotteur.o \
|
photomaton.o pht.o pixeliz.o pixels.o plotteur.o \
|
||||||
pnm.o \
|
|
||||||
pov_hf15a.o pov_hf15b.o pov_hf15c.o pov_hf15d.o \
|
pov_hf15a.o pov_hf15b.o pov_hf15c.o pov_hf15d.o \
|
||||||
pov_hf15e.o pov_hf15e.o pov_hf15f.o pov_synth.o \
|
pov_hf15e.o pov_hf15e.o pov_hf15f.o pov_synth.o \
|
||||||
ptlist.o \
|
ptlist.o \
|
||||||
@ -171,14 +168,10 @@ OBJECTS = 7seg.o \
|
|||||||
#-----------------------------------------------------------------
|
#-----------------------------------------------------------------
|
||||||
|
|
||||||
foo: foo.c $(DEPS) ../libtthimage.a
|
foo: foo.c $(DEPS) ../libtthimage.a
|
||||||
gcc $(CFLAGS) $< ../libtthimage.a -o $@
|
gcc $(CFLAGS) $< ../libimage.a -o $@
|
||||||
|
|
||||||
t_t16x24: t_t16x24.c $(DEPS) ../libtthimage.a
|
t_t16x24: t_t16x24.c $(DEPS) ../libtthimage.a
|
||||||
gcc $(CFLAGS) $< ../libtthimage.a -o $@
|
gcc $(CFLAGS) $< ../libimage.a-o $@
|
||||||
|
|
||||||
testbmp: testbmp.c $(DEPS) ../libtthimage.a
|
|
||||||
gcc $(CFLAGS) $< ../libtthimage.a -lm -o $@
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------
|
#-----------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -2,4 +2,3 @@
|
|||||||
|
|
||||||
Ugly software born around 1995 on a MS-Dos 286 computer.
|
Ugly software born around 1995 on a MS-Dos 286 computer.
|
||||||
|
|
||||||
Look at the `Makefile` for no more explanations.
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "../tthimage.h"
|
#include "tthimage.h"
|
||||||
|
|
||||||
#include "bmp.h" /* maybe I can hardcoded bmp.h here ? */
|
#include "bmp.h" /* maybe I can hardcoded bmp.h here ? */
|
||||||
|
|
||||||
|
30
Lib/bmp.h
30
Lib/bmp.h
@ -1,30 +0,0 @@
|
|||||||
/*
|
|
||||||
* header file for BMP functions
|
|
||||||
* -----------------------------
|
|
||||||
* 'tthimage.h' must be included before this file.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma pack(1) /* est-ce encore utile ? */
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
char id[2];
|
|
||||||
long filesize;
|
|
||||||
uint16_t reserved[2];
|
|
||||||
long headerSize;
|
|
||||||
long infoSize;
|
|
||||||
long width;
|
|
||||||
long height;
|
|
||||||
short planes;
|
|
||||||
short bits;
|
|
||||||
long compression;
|
|
||||||
long SizeImage;
|
|
||||||
long xpixpermeter;
|
|
||||||
long ypixpermeter;
|
|
||||||
long clrused;
|
|
||||||
long clrimportant;
|
|
||||||
} BMPHEAD;
|
|
||||||
|
|
||||||
#pragma pack()
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
|||||||
/*
|
|
||||||
* essais sur le format BMP
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include "../tthimage.h"
|
|
||||||
|
|
||||||
/*::------------------------------------------------------------------::*/
|
|
||||||
/*
|
|
||||||
* Ther was a nasty bug in the 'save' function, staying here from the
|
|
||||||
* previous century. Try to fix it in October 2009
|
|
||||||
*/
|
|
||||||
int essai_largeur(int k)
|
|
||||||
{
|
|
||||||
int w;
|
|
||||||
Image_Desc *img;
|
|
||||||
char filename[100], chaine[110];
|
|
||||||
|
|
||||||
Image_load_fnt8x8("libimage.fonte", NULL, 0);
|
|
||||||
|
|
||||||
for (w=160; w<180; w++)
|
|
||||||
{
|
|
||||||
sprintf(filename, "tmp/aaaa-%03d-%d.bmp", w, w&3);
|
|
||||||
fprintf(stderr, "---- building '%s'\n", filename);
|
|
||||||
|
|
||||||
img = Image_alloc(w, 100, 3);
|
|
||||||
if (NULL==img)
|
|
||||||
{ exit(1); }
|
|
||||||
Image_pattern_001(img, 100);
|
|
||||||
Image_marque_0(img, 0);
|
|
||||||
sprintf(chaine, " w = %3d %d ", w, w&3);
|
|
||||||
Image_trace_chaine_1(img, chaine, 14, 14, NULL, NULL, NULL);
|
|
||||||
Image_BMP_save_24(filename, img, 0);
|
|
||||||
|
|
||||||
snprintf(chaine, 100, "display %s", filename);
|
|
||||||
fprintf(stderr, "running [%s]\n", chaine);
|
|
||||||
system(chaine);
|
|
||||||
|
|
||||||
Image_DeAllocate(img); free(img);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/*::------------------------------------------------------------------::*/
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
int foo;
|
|
||||||
|
|
||||||
Image_print_version(1);
|
|
||||||
foo = essai_largeur(20);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/*::------------------------------------------------------------------::*/
|
|
@ -10,7 +10,7 @@ DEPS = ../tthimage.h Makefile tga_outils.h ../libtthimage.a
|
|||||||
|
|
||||||
all: genplot2 \
|
all: genplot2 \
|
||||||
tga_cadre tga_effects tga_filtres tga_remap tga_tools \
|
tga_cadre tga_effects tga_filtres tga_remap tga_tools \
|
||||||
tga_combine tga_export \
|
tga_combine \
|
||||||
tga_television tga_dither tga_applymap tga_makehf15 \
|
tga_television tga_dither tga_applymap tga_makehf15 \
|
||||||
tga_mires tga_incrust tga_pattern tga_equalize
|
tga_mires tga_incrust tga_pattern tga_equalize
|
||||||
|
|
||||||
@ -37,9 +37,6 @@ tga_cadre: tga_cadre.c $(DEPS) fonctions.o
|
|||||||
tga_combine: tga_combine.c $(DEPS) fonctions.o
|
tga_combine: tga_combine.c $(DEPS) fonctions.o
|
||||||
gcc $(CFLAGS) $< ../libtthimage.a fonctions.o -lm -o $@
|
gcc $(CFLAGS) $< ../libtthimage.a fonctions.o -lm -o $@
|
||||||
|
|
||||||
tga_export: tga_export.c $(DEPS) fonctions.o
|
|
||||||
gcc $(CFLAGS) $< ../libtthimage.a fonctions.o -lm -o $@
|
|
||||||
|
|
||||||
tga_dither: tga_dither.c $(DEPS) fonctions.o
|
tga_dither: tga_dither.c $(DEPS) fonctions.o
|
||||||
gcc $(CFLAGS) $< ../libtthimage.a fonctions.o -lm -o $@
|
gcc $(CFLAGS) $< ../libtthimage.a fonctions.o -lm -o $@
|
||||||
|
|
||||||
|
@ -1,48 +1,18 @@
|
|||||||
# Tools
|
# Tools
|
||||||
|
|
||||||
Pour utiliser toutes ces fonctions, il y a une collection d'utilitaires
|
Pour utiliser toutes ces fonction, il y a une collection d'utilitaires
|
||||||
spécialisés. Leur interface en `CLI` est assez rudimentaire, mais la
|
spécialisés.
|
||||||
plupart savent donner quelques indices avec la commande `list`. Exemple:
|
|
||||||
|
|
||||||
```
|
|
||||||
tth@konrad:~/Devel/libtthimage$ tga_filtres list
|
|
||||||
*** tga_filtres v 0.0.17 [0.59] (dwtfywl) TontonTh 2018
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
tga_filtres <src.tga> FILTR <dst.tga> [p1] ... [pn]
|
|
||||||
-+- This is the `tthimage' library v0.4.50 (dwtfywl 2022) tTh
|
|
||||||
commande | type arg | explication
|
|
||||||
------------+----------+------------------------------------
|
|
||||||
liss2x2 | | lissage 2x2
|
|
||||||
hipass | |
|
|
||||||
lopass | |
|
|
||||||
prewitt | i | rotation [0..8]
|
|
||||||
random | ii | try it...
|
|
||||||
```
|
|
||||||
La colonne du milieu undique le type des paramètres :
|
|
||||||
|
|
||||||
- `i` pour un nombre entier
|
|
||||||
- `d` pour un flottant en double précision
|
|
||||||
- `s` pour une chaine, ex: un nom de fichier
|
|
||||||
- `f` pour un flag : 0, F, 1, T
|
|
||||||
|
|
||||||
|
|
||||||
|
## genplot2
|
||||||
|
|
||||||
## tga_applymap
|
## tga_applymap
|
||||||
|
|
||||||
## tga_cadre
|
## tga_cadre
|
||||||
|
|
||||||
Pas mal de façons de mettre un cadre sur l'image.
|
|
||||||
Niveau de kitchitude assez élevé.
|
|
||||||
|
|
||||||
## tga_combine
|
## tga_combine
|
||||||
|
|
||||||
## tga_dither
|
## tga_dither
|
||||||
|
|
||||||
## tga_export
|
|
||||||
|
|
||||||
Attendu avec impatience, il aura le support complet des PNG.
|
|
||||||
|
|
||||||
## tga_effects
|
## tga_effects
|
||||||
|
|
||||||
## tga_equalize
|
## tga_equalize
|
||||||
@ -63,15 +33,4 @@ Attendu avec impatience, il aura le support complet des PNG.
|
|||||||
|
|
||||||
## tga_tools
|
## tga_tools
|
||||||
|
|
||||||
Celui ci est très utile pour la recherche de problèmes ou l'automatisation
|
|
||||||
de certaines tâches. Exemple :
|
|
||||||
|
|
||||||
```
|
|
||||||
tth@konrad:~/Devel/libtthimage$ tga_tools getdimweb mire.tga
|
|
||||||
width=512 height=512
|
|
||||||
tth@konrad:~/Devel/libtthimage$
|
|
||||||
```
|
|
||||||
|
|
||||||
## genplot2
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -410,7 +410,7 @@ int set_new_seed(int k)
|
|||||||
char *ptr;
|
char *ptr;
|
||||||
long seed;
|
long seed;
|
||||||
|
|
||||||
/* if (k) fprintf(stderr, "%s: k %d\n", __func__, k); */
|
if (k) fprintf(stderr, "%s: k %d\n", __func__, k);
|
||||||
|
|
||||||
if (NULL==(ptr=getenv("FIXED_SEED"))) {
|
if (NULL==(ptr=getenv("FIXED_SEED"))) {
|
||||||
/* no fixed seed in context, doing semi-random */
|
/* no fixed seed in context, doing semi-random */
|
||||||
|
@ -1,120 +0,0 @@
|
|||||||
/*
|
|
||||||
convert a TGA image to various formats
|
|
||||||
-----------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "tga_outils.h"
|
|
||||||
|
|
||||||
/*::------------------------------------------------------------------::*/
|
|
||||||
|
|
||||||
#define PGM0 1
|
|
||||||
#define PGM1 2
|
|
||||||
#define PPM0 10
|
|
||||||
#define PHT 20
|
|
||||||
#define BMP24 30
|
|
||||||
#define PCX8 60
|
|
||||||
#define PCX24 61
|
|
||||||
#define PGMHF 80
|
|
||||||
|
|
||||||
mot_clef mots_clef[] =
|
|
||||||
{
|
|
||||||
{ "pgm0", PGM0, "c", "param: color component" },
|
|
||||||
{ "ppm0", PPM0, "", "portable pixmap (rgb)" },
|
|
||||||
{ "pht", PHT, "c", "param: color component" },
|
|
||||||
{ "bmp24", BMP24, "i", "param must be 0" },
|
|
||||||
{ "pcx8", PCX8, "i", "plop" },
|
|
||||||
{ "pcx24", PCX24, "i", "plup" },
|
|
||||||
{ "pgmhf", PGMHF, "", "height fields for POV" },
|
|
||||||
{ NULL, 0, NULL, NULL }
|
|
||||||
};
|
|
||||||
|
|
||||||
/*::------------------------------------------------------------------::*/
|
|
||||||
|
|
||||||
void usage(int flag)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "*** tga_export v 0.0.9 [%s] %s\n",
|
|
||||||
TGA_OUTILS_VERSION, TGA_OUTILS_COPYLEFT);
|
|
||||||
|
|
||||||
fprintf(stderr, "tga_export source.tga format destination.xxx [params]\n\n");
|
|
||||||
|
|
||||||
if (flag)
|
|
||||||
{
|
|
||||||
liste_mots_clefs(mots_clef, 42);
|
|
||||||
}
|
|
||||||
exit(5);
|
|
||||||
}
|
|
||||||
/*::------------------------------------------------------------------::*/
|
|
||||||
/*
|
|
||||||
* argv[1] source.tga
|
|
||||||
* argv[2] format d'exportation
|
|
||||||
* argv[3] destination.???
|
|
||||||
*/
|
|
||||||
#define FIRST_PARAM 4
|
|
||||||
int main (int argc, char *argv[])
|
|
||||||
{
|
|
||||||
Image_Desc *img;
|
|
||||||
int foo;
|
|
||||||
int idx, commande, nbargs;
|
|
||||||
|
|
||||||
dump_command_line(argc, argv, 0);
|
|
||||||
|
|
||||||
if (argc < 4) usage(1);
|
|
||||||
|
|
||||||
/* recherche du type d'exportation demandé */
|
|
||||||
idx = cherche_mot_clef(argv[2], mots_clef, &commande, &nbargs);
|
|
||||||
if (idx < 0)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "tga_export: format %s inconnu...\n", argv[2]);
|
|
||||||
exit (5);
|
|
||||||
}
|
|
||||||
if ( (argc-nbargs) != FIRST_PARAM )
|
|
||||||
{
|
|
||||||
fprintf(stderr, "%s: bad number of parameters\n", argv[0]);
|
|
||||||
exit(5);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* analyse des paramètres */
|
|
||||||
foo = parse_parametres(argc, argv, mots_clef[idx].ptypes, FIRST_PARAM);
|
|
||||||
|
|
||||||
if ( (img=Image_TGA_alloc_load(argv[1]))==NULL )
|
|
||||||
{
|
|
||||||
fprintf(stderr, "tga_export: can't load '%s'\n", argv[1]);
|
|
||||||
exit(5);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (commande)
|
|
||||||
{
|
|
||||||
case PGM0:
|
|
||||||
foo = Image_wr_pgm_0(argv[3], img, GCP(0));
|
|
||||||
break;
|
|
||||||
case PPM0:
|
|
||||||
foo = Image_wr_ppm_0(argv[3], img, 0);
|
|
||||||
break;
|
|
||||||
case PHT:
|
|
||||||
foo = Image_PHT_save_component(argv[3], img, GCP(0));
|
|
||||||
break;
|
|
||||||
case BMP24:
|
|
||||||
foo = Image_BMP_save_24(argv[3], img, 0);
|
|
||||||
break;
|
|
||||||
case PGMHF:
|
|
||||||
/* une fonction equivalente est dans 'povhf_tools' et
|
|
||||||
* il serait bien de mutualiser le code */
|
|
||||||
foo = Image_hf15_save_PGM(argv[3], img, "Nice try...");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
foo = 9999;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (foo)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "tga_export (%s) ", argv[2]);
|
|
||||||
Image_print_error("ecriture fichier", foo);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/*::------------------------------------------------------------------::*/
|
|
Loading…
Reference in New Issue
Block a user