Compare commits
2 Commits
e3347cb775
...
7e09d1b490
Author | SHA1 | Date | |
---|---|---|---|
|
7e09d1b490 | ||
|
5b2320b421 |
@ -14,7 +14,7 @@ Usage:
|
|||||||
tga_filtres <src.tga> FILTR <dst.tga> [p1] ... [pn]
|
tga_filtres <src.tga> FILTR <dst.tga> [p1] ... [pn]
|
||||||
-+- This is the `tthimage' library v0.4.50 (dwtfywl 2022) tTh
|
-+- This is the `tthimage' library v0.4.50 (dwtfywl 2022) tTh
|
||||||
commande | type arg | explication
|
commande | type arg | explication
|
||||||
------------+----------+------------------------------------
|
------------+----------+------------------------------
|
||||||
liss2x2 | | lissage 2x2
|
liss2x2 | | lissage 2x2
|
||||||
hipass | |
|
hipass | |
|
||||||
lopass | |
|
lopass | |
|
||||||
@ -31,7 +31,7 @@ La colonne du milieu indique le type des paramètres :
|
|||||||
## tga_alpha
|
## tga_alpha
|
||||||
|
|
||||||
Manipulation du canal alpha (la transparence), lequel canal
|
Manipulation du canal alpha (la transparence), lequel canal
|
||||||
est globalement mal géré par l'ensemble de libtthimage.
|
est globalement mal géré par l'ensemble de la libtthimage.
|
||||||
|
|
||||||
## tga_applymap
|
## tga_applymap
|
||||||
|
|
||||||
@ -40,6 +40,12 @@ logiciel de fractales sous ms-dos :
|
|||||||
[Fractint](https://fractint.org/). Quelques exemples de
|
[Fractint](https://fractint.org/). Quelques exemples de
|
||||||
ces fichiers sont dans le répertoire `Datas/` du projet.
|
ces fichiers sont dans le répertoire `Datas/` du projet.
|
||||||
|
|
||||||
|
Vous rencontrerez parfois des messages d'erreur comme
|
||||||
|
« *color map is to big* » ou « *only 97 entries in foo.map* ».
|
||||||
|
Pas d'inquiétude, tout va bien se passer.
|
||||||
|
Dans le premier cas, les lignes en excédent sont ignorées,
|
||||||
|
et dans le second, les valeurs manquantes sont mises au noir.
|
||||||
|
|
||||||
La gestion de la ligne de commande est désastreuse. **À REFAIRE**
|
La gestion de la ligne de commande est désastreuse. **À REFAIRE**
|
||||||
|
|
||||||
## tga_cadre
|
## tga_cadre
|
||||||
@ -54,7 +60,6 @@ Paramètres mal documentés.
|
|||||||
Usage:
|
Usage:
|
||||||
tga_combine s1.tga s2.tga MODE d.tga [PARAMS]
|
tga_combine s1.tga s2.tga MODE d.tga [PARAMS]
|
||||||
```
|
```
|
||||||
|
|
||||||
Il existe plein de façon de combiner deux images, la commande
|
Il existe plein de façon de combiner deux images, la commande
|
||||||
`testtga list` vous les fera découvrir, la cinquième va vous étonner.
|
`testtga list` vous les fera découvrir, la cinquième va vous étonner.
|
||||||
|
|
||||||
@ -76,9 +81,15 @@ Attendu avec impatience, il aura le support complet des PNG. Un jour...
|
|||||||
|
|
||||||
## tga_makehf15
|
## tga_makehf15
|
||||||
|
|
||||||
|
Pour les POViste acharnés.
|
||||||
|
|
||||||
## tga_to_text
|
## tga_to_text
|
||||||
|
|
||||||
Mis au point pour les imports dans d'autres langages.
|
Mis au point pour les imports dans d'autres langages,
|
||||||
|
comme Awk, Fortran ou R. Chaque ligne du fichier généré
|
||||||
|
contient cinq champs : x, y, r, g, b.
|
||||||
|
|
||||||
|
Attention, il peut vite générer d'énormes fichiers.
|
||||||
|
|
||||||
## tga_mires
|
## tga_mires
|
||||||
|
|
||||||
@ -96,14 +107,58 @@ vraiment trop nulle...
|
|||||||
## tga_tools
|
## tga_tools
|
||||||
|
|
||||||
Celui ci est très utile pour la recherche de problèmes ou l'automatisation
|
Celui ci est très utile pour la recherche de problèmes ou l'automatisation
|
||||||
de certaines tâches. Exemple :
|
de certaines tâches. Un exemple rapide :
|
||||||
|
|
||||||
```
|
```
|
||||||
tth@konrad:~/Devel/libtthimage$ tga_tools getdimweb mire.tga
|
tth@redlady:~/Devel/libtthimage$ tga_tools getdimweb foo.tga
|
||||||
width=512 height=512
|
width=640 height=480
|
||||||
tth@konrad:~/Devel/libtthimage$
|
tth@redlady:~/Devel/libtthimage$ tga_tools getdimpov foo.tga
|
||||||
|
-w640 -h480
|
||||||
|
tth@redlady:~/Devel/libtthimage$
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### version
|
||||||
|
### surface
|
||||||
|
### getdims, getdimx, getdimpov, getdimweb
|
||||||
|
renvoie une chaine de caractère donnant les dimensions de l'image
|
||||||
|
en différents formats.
|
||||||
|
### width, height
|
||||||
|
renvoie chacune des deux dimensions.
|
||||||
|
### grminmax
|
||||||
|
### message
|
||||||
|
Flags: un entier. Si non nul, change l'encre et le papier pour
|
||||||
|
d'autres valeurs. La chaine de caractère doit être (sjmsb) encodée
|
||||||
|
en CP-850, voire même comme celles du Locomotive du CPC.
|
||||||
|
|
||||||
|
### structs
|
||||||
|
|
||||||
|
Affichage d'information (boutisme, taille des structures) qui ne
|
||||||
|
seront utiles qu'aux codeurs.
|
||||||
|
```
|
||||||
|
tth@redlady:~/Devel/libtthimage/Tools$ ./tga_tools structs
|
||||||
|
petit = 1234 -> 34 12
|
||||||
|
grand = 12345678 -> 78 56 34 12 00 00 00 00
|
||||||
|
basic types : short=2 int=4 long=8 ptr=8
|
||||||
|
Image_Desc : 1296
|
||||||
|
Image_Rect : 24
|
||||||
|
RGBA : 16
|
||||||
|
A_BitPlane : 128
|
||||||
|
RGB_map : 1624
|
||||||
|
Image_Point : 8
|
||||||
|
```
|
||||||
|
|
||||||
|
### header
|
||||||
|
### timestamp
|
||||||
|
### prhisto
|
||||||
|
|
||||||
|
Calcul et affichage en mode texte de l'histogramme d'une image.
|
||||||
|
Un exemple d'utilisation avec gnuplot serait le bienvenu.
|
||||||
|
|
||||||
|
### tag7
|
||||||
|
### environ
|
||||||
|
### mk_rgb
|
||||||
|
### mk_hgrad
|
||||||
|
|
||||||
## genplot2
|
## genplot2
|
||||||
|
|
||||||
Outil de tracé pseudo-générique et farci de bugs. *WIP ME HARDLY !*
|
Outil de tracé pseudo-générique et farci de bugs. *WIP ME HARDLY !*
|
||||||
|
@ -141,8 +141,7 @@ fprintf(stderr, "%s -> %s : %dx%d, rgb %d,%d,%d\n", __func__, fname, w, h,
|
|||||||
r, g, b);
|
r, g, b);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (w < 1 || h < 1)
|
if (w < 1 || h < 1) {
|
||||||
{
|
|
||||||
fprintf(stderr, "%s : img dims %d %d ?\n", __func__, w, h);
|
fprintf(stderr, "%s : img dims %d %d ?\n", __func__, w, h);
|
||||||
return 666;
|
return 666;
|
||||||
}
|
}
|
||||||
@ -168,8 +167,7 @@ Image_Desc *src;
|
|||||||
fprintf(stderr, "timestamping '%s' to '%s' with '%s'\n", fnin, fnout, txt);
|
fprintf(stderr, "timestamping '%s' to '%s' with '%s'\n", fnin, fnout, txt);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ( (src=Image_TGA_alloc_load(fnin)) == NULL )
|
if ( (src=Image_TGA_alloc_load(fnin)) == NULL ) {
|
||||||
{
|
|
||||||
fprintf(stderr, "tga_tools, load of '%s' failed in %s\n",
|
fprintf(stderr, "tga_tools, load of '%s' failed in %s\n",
|
||||||
fnin, __func__);
|
fnin, __func__);
|
||||||
exit(5);
|
exit(5);
|
||||||
@ -207,15 +205,23 @@ if (must_be_verbose()) {
|
|||||||
__func__, fnin, fnout, txt, flag);
|
__func__, fnin, fnout, txt, flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (src=Image_TGA_alloc_load(fnin)) == NULL )
|
if ( (src=Image_TGA_alloc_load(fnin)) == NULL ) {
|
||||||
{
|
|
||||||
fprintf(stderr, "tga_tools, load of '%s' failed in %s\n",
|
fprintf(stderr, "tga_tools, load of '%s' failed in %s\n",
|
||||||
fnin, __func__);
|
fnin, __func__);
|
||||||
exit(5);
|
exit(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
foo = Image_txt1_box_0(src, txt, posx, posy, 4, &pap, &ink, 0);
|
foo = Image_txt1_box_0(src, txt, posx, posy, 4, &pap, &ink, 0);
|
||||||
Image_TGA_save(fnout, src, 0);
|
if (foo) {
|
||||||
|
fprintf(stderr, "err txt1_box_0 = %d\n", foo);
|
||||||
|
return foo;
|
||||||
|
}
|
||||||
|
|
||||||
|
foo = Image_TGA_save(fnout, src, 0);
|
||||||
|
if (foo) {
|
||||||
|
fprintf(stderr, "%s: err TGA save = %d\n", __func__, foo);
|
||||||
|
return foo;
|
||||||
|
}
|
||||||
|
|
||||||
#if DEBUG_LEVEL
|
#if DEBUG_LEVEL
|
||||||
fprintf(stderr, "%s : saving %s\n", __func__, fnout);
|
fprintf(stderr, "%s : saving %s\n", __func__, fnout);
|
||||||
@ -234,21 +240,18 @@ if (flags) {
|
|||||||
fprintf(stderr, "in %s, flags must be 0\n", __func__);
|
fprintf(stderr, "in %s, flags must be 0\n", __func__);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (src=Image_TGA_alloc_load(filename)) == NULL )
|
if ( (src=Image_TGA_alloc_load(filename)) == NULL ) {
|
||||||
{
|
|
||||||
fprintf(stderr, "tga_tools, chargement '%s' failed\n", filename);
|
fprintf(stderr, "tga_tools, chargement '%s' failed\n", filename);
|
||||||
exit(5);
|
exit(5);
|
||||||
}
|
}
|
||||||
foo = Image_histo_RGB(src, hr, hb, hg);
|
foo = Image_histo_RGB(src, hr, hb, hg);
|
||||||
if (foo)
|
if (foo) {
|
||||||
{
|
|
||||||
fprintf(stderr, "tga_tools, calcul histogramme: %d %s\n",
|
fprintf(stderr, "tga_tools, calcul histogramme: %d %s\n",
|
||||||
foo, Image_err2str(foo));
|
foo, Image_err2str(foo));
|
||||||
exit(5);
|
exit(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (foo=0; foo<256; foo++)
|
for (foo=0; foo<256; foo++) {
|
||||||
{
|
|
||||||
printf("%3d %8ld %8ld %8ld\n", foo, hr[foo], hg[foo], hb[foo]);
|
printf("%3d %8ld %8ld %8ld\n", foo, hr[foo], hg[foo], hb[foo]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -260,15 +263,13 @@ int print_environ(void)
|
|||||||
{
|
{
|
||||||
int foo;
|
int foo;
|
||||||
char *ptr;
|
char *ptr;
|
||||||
char *noms[] =
|
char *noms[] = {
|
||||||
{
|
|
||||||
NOM_VAR_ENV_VERBOSE, NOM_VAR_ENV_TIMING, "LIBIMAGE_PATH",
|
NOM_VAR_ENV_VERBOSE, NOM_VAR_ENV_TIMING, "LIBIMAGE_PATH",
|
||||||
"TTH_CONF_DIR", "LIBIMAGE_DEBUG", "BITMAP_FONTS",
|
"TTH_CONF_DIR", "LIBIMAGE_DEBUG", "BITMAP_FONTS",
|
||||||
"FIXED_SEED", ENV_DEFAULT_RGBA
|
"FIXED_SEED", ENV_DEFAULT_RGBA
|
||||||
};
|
};
|
||||||
|
|
||||||
for (foo=0; foo<(int)(sizeof(noms)/sizeof(char *)); foo++)
|
for (foo=0; foo<(int)(sizeof(noms)/sizeof(char *)); foo++) {
|
||||||
{
|
|
||||||
ptr = getenv(noms[foo]);
|
ptr = getenv(noms[foo]);
|
||||||
printf("%5d %-25s %s\n", foo, noms[foo], ptr);
|
printf("%5d %-25s %s\n", foo, noms[foo], ptr);
|
||||||
}
|
}
|
||||||
@ -286,8 +287,7 @@ char buffer[100];
|
|||||||
fprintf(stderr, "%s:%s %s %d\n", __FILE__, __func__, fname, value);
|
fprintf(stderr, "%s:%s %s %d\n", __FILE__, __func__, fname, value);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ( (src=Image_TGA_alloc_load(fname)) == NULL )
|
if ( (src=Image_TGA_alloc_load(fname)) == NULL ) {
|
||||||
{
|
|
||||||
fprintf(stderr, "tga_tools, load of '%s' failed in %s\n",
|
fprintf(stderr, "tga_tools, load of '%s' failed in %s\n",
|
||||||
fname, __func__);
|
fname, __func__);
|
||||||
exit(5);
|
exit(5);
|
||||||
@ -339,16 +339,14 @@ foo = set_new_seed(42);
|
|||||||
fprintf(stderr, "!!! set new seed -> %d\n", foo);
|
fprintf(stderr, "!!! set new seed -> %d\n", foo);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (1 == argc)
|
if (1 == argc) {
|
||||||
{
|
|
||||||
fprintf(stderr, "* tga_tools v 0.1.33 (%s) *\n", __DATE__);
|
fprintf(stderr, "* tga_tools v 0.1.33 (%s) *\n", __DATE__);
|
||||||
fprintf(stderr, "usage:\n\t%s action f.tga [params]\n", argv[0]);
|
fprintf(stderr, "usage:\n\t%s action f.tga [params]\n", argv[0]);
|
||||||
liste_mots_clefs(commandes, 42);
|
liste_mots_clefs(commandes, 42);
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (-1 == (idx=cherche_mot_clef(argv[1], commandes, &mode, &nbarg)) )
|
if (-1 == (idx=cherche_mot_clef(argv[1], commandes, &mode, &nbarg)) ) {
|
||||||
{
|
|
||||||
fprintf(stderr, "action '%s' inconnue.\n", argv[1]);
|
fprintf(stderr, "action '%s' inconnue.\n", argv[1]);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
@ -452,7 +450,7 @@ switch(mode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (foo) {
|
if (foo) {
|
||||||
fprintf(stderr, "*** at end of %s, foo was %d\n", __func__, foo);
|
/* fprintf(stderr, "*** at end of %s, foo was %d\n", __func__, foo); */
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user