Compare commits

..

No commits in common. "7e09d1b4906553995014ddd8aab014b33b91bd4c" and "e3347cb77518b84c606e2327107f1d840db4982e" have entirely different histories.

2 changed files with 32 additions and 85 deletions

View File

@ -14,7 +14,7 @@ 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 | |
@ -31,7 +31,7 @@ La colonne du milieu indique le type des paramètres :
## tga_alpha
Manipulation du canal alpha (la transparence), lequel canal
est globalement mal géré par l'ensemble de la libtthimage.
est globalement mal géré par l'ensemble de libtthimage.
## tga_applymap
@ -40,12 +40,6 @@ logiciel de fractales sous ms-dos :
[Fractint](https://fractint.org/). Quelques exemples de
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**
## tga_cadre
@ -60,6 +54,7 @@ Paramètres mal documentés.
Usage:
tga_combine s1.tga s2.tga MODE d.tga [PARAMS]
```
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.
@ -81,15 +76,9 @@ Attendu avec impatience, il aura le support complet des PNG. Un jour...
## tga_makehf15
Pour les POViste acharnés.
## tga_to_text
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.
Mis au point pour les imports dans d'autres langages.
## tga_mires
@ -107,58 +96,14 @@ vraiment trop nulle...
## tga_tools
Celui ci est très utile pour la recherche de problèmes ou l'automatisation
de certaines tâches. Un exemple rapide :
de certaines tâches. Exemple :
```
tth@redlady:~/Devel/libtthimage$ tga_tools getdimweb foo.tga
width=640 height=480
tth@redlady:~/Devel/libtthimage$ tga_tools getdimpov foo.tga
-w640 -h480
tth@redlady:~/Devel/libtthimage$
tth@konrad:~/Devel/libtthimage$ tga_tools getdimweb mire.tga
width=512 height=512
tth@konrad:~/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
Outil de tracé pseudo-générique et farci de bugs. *WIP ME HARDLY !*

View File

@ -141,7 +141,8 @@ fprintf(stderr, "%s -> %s : %dx%d, rgb %d,%d,%d\n", __func__, fname, w, h,
r, g, b);
#endif
if (w < 1 || h < 1) {
if (w < 1 || h < 1)
{
fprintf(stderr, "%s : img dims %d %d ?\n", __func__, w, h);
return 666;
}
@ -167,7 +168,8 @@ Image_Desc *src;
fprintf(stderr, "timestamping '%s' to '%s' with '%s'\n", fnin, fnout, txt);
#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",
fnin, __func__);
exit(5);
@ -205,23 +207,15 @@ if (must_be_verbose()) {
__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",
fnin, __func__);
exit(5);
}
foo = Image_txt1_box_0(src, txt, posx, posy, 4, &pap, &ink, 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;
}
Image_TGA_save(fnout, src, 0);
#if DEBUG_LEVEL
fprintf(stderr, "%s : saving %s\n", __func__, fnout);
@ -240,18 +234,21 @@ if (flags) {
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);
exit(5);
}
foo = Image_histo_RGB(src, hr, hb, hg);
if (foo) {
if (foo)
{
fprintf(stderr, "tga_tools, calcul histogramme: %d %s\n",
foo, Image_err2str(foo));
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]);
}
@ -263,13 +260,15 @@ int print_environ(void)
{
int foo;
char *ptr;
char *noms[] = {
char *noms[] =
{
NOM_VAR_ENV_VERBOSE, NOM_VAR_ENV_TIMING, "LIBIMAGE_PATH",
"TTH_CONF_DIR", "LIBIMAGE_DEBUG", "BITMAP_FONTS",
"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]);
printf("%5d %-25s %s\n", foo, noms[foo], ptr);
}
@ -287,7 +286,8 @@ char buffer[100];
fprintf(stderr, "%s:%s %s %d\n", __FILE__, __func__, fname, value);
#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",
fname, __func__);
exit(5);
@ -339,14 +339,16 @@ foo = set_new_seed(42);
fprintf(stderr, "!!! set new seed -> %d\n", foo);
#endif
if (1 == argc) {
if (1 == argc)
{
fprintf(stderr, "* tga_tools v 0.1.33 (%s) *\n", __DATE__);
fprintf(stderr, "usage:\n\t%s action f.tga [params]\n", argv[0]);
liste_mots_clefs(commandes, 42);
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]);
exit(1);
}
@ -450,7 +452,7 @@ switch(mode)
}
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;
}