Timbré!

Où on parle des différentes versions de Pixia, de script Gonta...

Modérateur: gg

Timbré!

Messagede Eric le Lun Fév 25, 2008 22:26

Juste un tiot script pour faire un timbre
le script:

Gauche:


Code: Tout sélectionner
coord=0;
cx=0;cy=0;
?dent,Dents,0,3,3;
m1=32;
if (dent >=2){m1=16;}
m2=m1/2;
LoadBmpNum(0,"pen/timbre",dent);
xc2=int(xs/m2)-1;
xc=xc2-1;
yc2=int((ys)/m2)-1;
yc=yc2-1;


Droite

Code: Tout sélectionner
k=0;
px=int(x/m2);py=int(y/m2);
if (( px == 0) || (px == xc2) ||  (py == 0) || (py == yc2))
{
R=255;
G=255;
B=255;
k=1;}
if ( k!=1){
if((px == 1) || (py==1)|| (px == xc) || (py == yc)){
r2=R;g2=G;b2=B;
x2=x%m1;y2=y%m1;
getb(0,x2,y2);
if( (R> 129) || (G>129) || (B>129)){
R=r2;G=g2;B=b2;}
if(( R==129) ){ R=255;G=255;B=255;}
}}


Il faut à cela ajouter les quatre bmp qui sont dans la piece jointe et les placer dans Gonta->Pen comme de coutume
le fichier installation.txt explique tout celà ( dans l' archive en bas de l' article)
Le script est pour l' instant tres limité ( il ne dessine que les dents )et fonctionne sous certaines conditions:
Note:
Les options 0 et 1 utilise une denture de 32 pixels
les options 2 et 3 une denture de 16 pixels

Pour l' instant le script ne fonctionne correctement que si la taille en x et en y
de la sélection sont des multiples entiers de la taille de la denture.
une image de 640x480 convient pour une denture de 32 pixels ( 16 aussis)
640/32=20, 20 est entier
480/32=15 est un entier.

alors que 680x400 ne fonctionne pas
400/32= 12,5 : ce n' est pas un entier

cependant 400/16 = 25 : c' est ok

un rendu en combinaison avec le filtre Gonta Puceron->vignette

Image

@+ Eric
Dernière édition par Eric le Dim Jan 17, 2010 12:59, édité 2 fois.
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Timbré!

Messagede gg le Mar Fév 26, 2008 01:01

va falloir ressortir les calculettes :)
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Timbré!

Messagede Eric le Sam Mar 01, 2008 21:29

je m' y remet
en fait il suffit de jouer sur la marge blanche autour des dents pour ramener l' intérieur
au bon multiple .
Mais je l' ai pas encore fait
@+ Eric
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Timbré!

Messagede Eric le Dim Mar 02, 2008 07:45

Bon : c' est résolu , quoique un peu brouillon
J' ai beaucoup de variables.

Le choix des dents est élargie (12 en 3 tailles ), j' ai ajouté une option pour l' extérieur transparent ou coloré.

une image , selections diverses au pif et numéro des dents.

Image

@+ Eric

Je met tout ça en piece jointe format zip.
timbre.zip
filtre Gonta
(4.24 Ko) Téléchargé 1291 fois
Dernière édition par Eric le Dim Jan 17, 2010 12:59, édité 1 fois.
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Timbré!

Messagede gg le Dim Mar 02, 2008 13:37

excellent :)
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Timbré!

Messagede Eric le Mer Mar 19, 2008 21:15

Merci GG
Projet en cours : un truc similaire en 8bf

@+ Eric
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Timbré!

Messagede gg le Ven Avr 04, 2008 04:38

je me suis amusé à remplacer les pinceaux "timbre" par les pinceaux "trait" de ton script gonta d'un post précédent, pour certains ça donnent un effet fort sympathique... c'est peut-être une idée à développer : savoir exactement comment tu crées tes pinceaux (où faut-il placer le dessin sur l'image du pinceau pour que la sortie soit intéressante ?)
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Timbré!

Messagede Eric le Sam Avr 05, 2008 08:58

Dans ce script deux parametres sont importants pour les pinceaux :
1) la taille
2) la couleur de remplissage

deux images pour illustrer le principe faite " a la main" rien qu' avec des selections.
j' ouvre une image de 256x256 ( ça rempli pil poil et pas de soucis avec un ajustement et c' est plus simple à expliquer)que je rempli avec une dent comme texture
Le remplissage est bien repetitif. C' est la base du systeme
image ci dessous
Image

il reste à determiner 3 zones:
la zone verte: l' extérieur du timbre.
sa largeur est égale à une demi dent ( idem pour la hauteur )
la zone rouge ( l' endroit ou le script ne fait rien et laisse l' image intacte ) se trouve à une dent de chaque bord.
Les dents sont dessinées .
Reste un test : dans le zone ou je laisse la denture: si la couleur de la dent est grise je rempli avec le couleur externe, celle de la zone verte.
Ce gris a pour valeur RVB =129.
Si c' est blanc : au choix l' image ou blanc.

Image

Pour que le script connaisse la taille des dents , j' ai du les organiser:
4 dents de 8x8 ( numéro de 0 à 3)
4 dents de 16x16 (numéro de 4 à 7)
4 dents de 32x32 ( numéro de 8 à 11)
la taille est donc (2 puissance 0)*8 pour le premier groupe (8)
(2 puissance 1)*8 pour le second groupe (16)
(2 puissance 2)*8 pour le dernier (32)
nbdent=int(dent/4); me donne le numéro du groupe
m1=pow(2,nbdent)*8; la taille de la dent

pour 6 dents par groupe : nbdent=int(dent/6);

Si j' ajoute un quatrieme groupe de dents la taille devra etre de 64 pixels, 128 pour le cinquieme ....

La derniere contrainte est la forme et le centrage du motif . ( pas évident en 8x8 pixels ).
je me suis borné à limiter toute fantaisie
Ai je répondu ?
Si tu peux poster une tiote image

@+ Eric
Dernière édition par Eric le Dim Jan 17, 2010 13:04, édité 1 fois.
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Timbré!

Messagede gg le Sam Avr 05, 2008 14:10

ok, je vois pourquoi ça marche seulement avec certain des traits... la taille des dents est fonction de la numérotation des fichiers (ou l'inverse :),
en faite, ton script peut-être utilisé pour faire des cadres :).

je vais voir si j'arrive à modifier ton script (ça m'apprendra un peu à me servir de gonta) pour voir si au lieu de jouer sur le numéro, je ne peux pas rajouter une variable qui va plutot jouer sur le nom des fichiers au lieu de jouer sur la numérotation.
Fichiers joints
trait08.jpg
trait08.jpg (14.28 Ko) Vu 21601 fois
trait05.jpg
trait05.jpg (10.24 Ko) Vu 21599 fois
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Timbré!

Messagede Eric le Sam Avr 05, 2008 16:50

L' ajout d' une variable est pas compliqué , avec une suite de if (...) dans la partie gauche
Tu me dira quoi
Pour un cadre , je pense qu' il faudra traiter séparément les coins et les bordures.
ça laisse plus de choix dans les formes .
@+ Eric
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Timbré!

Messagede Eric le Sam Avr 05, 2008 19:28

Désolé : j' ai oublié un point important :oops:
Il faut éviter de charger un bmp qui n' existe pas , sans cela crash fort probable

donc un curseur qui donne le choix d' une série de bmp
puis un second pour obtenir le numéro du bmp

?serie, Serie,0,5,2;
?num,Numéro,0,10,0;

ensuite un traitement simple , toujours dans la fenetre de gauche

if ( serie == 0){LoadBmpNum(0,"Pen/Chose,num);}
if ( serie == 1){LoadBmpNum(0,"Pen/Truc,num);}
if ( serie == 2){LoadBmpNum(0,"Pen/Machin,num);}
et ainsi de suite jusque 5

Si tu choisis la série 2 avec le numéro 6 et que celui ci n' existe pas cela risque fort de planter Pixia

un contourment possible :

if ( (serie == 0) && (num <= 6)){LoadBmpNum(0,"Pen/Chose,num);}
if ( serie == 1) && (num <= 5)){LoadBmpNum(0,"Pen/Truc,num);}
if ( serie == 2) && (num <= 10)){LoadBmpNum(0,"Pen/Machin,num);}

Il faudra mettre à jour ces limites au fur et à mesure des ajouts

Pour l' utilisateur, il dira que des fois le script fonctionne, mais pas tout le temps
Gonta ne permet pas l' ouverture d' une boite de dialogue d' erreur.

Proposition d' affichage d' erreur: un bmp contenant le texte "IMPOSSIBLE" disons erreur.bmp

modification de l' exemple precedent:

erreur=1;
if ( (serie == 0) && (num <= 6)){LoadBmpNum(0,"Pen/Chose,num);erreur=0;}
if ( serie == 1) && (num <= 5)){LoadBmpNum(0,"Pen/Truc,num);erreur=0;}
if ( serie == 2) && (num <= 10)){LoadBmpNum(0,"Pen/Machin,num);erreur=0;}

if ( erreur==1 ){ LoadBmp(0,"Pen/erreur;)}

puis dans la fenetre de droite , tout en haut: le traitement de l' erreur

If ( erreur == 1){
affiche le bmp erreur }
else { traitement ordinaire }

j' écrit de tête , sans vérifier, le principe semble cohérent.
a voir l' affichage du bmp car plusieurs écritures sont possibles

@+ Eric
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Timbré!

Messagede Eric le Sam Avr 05, 2008 20:23

Juste pour afficher une erreur
un bmp ( 256x64 ) ou il est écrit erreur ( du nom " erreur.bmp)


à gauche:

Code: Tout sélectionner
coord=0;
cx=0;cy=0;
LoadBmp(0,"Pen/erreur");


à droite:

Code: Tout sélectionner
if ((x < 256) &&( y < 64)){
getb(0,x,y);
}


super le nouveau forum : plus besoin de changer les couleurs pour une citation ou un code ! SUPER 8)


j' ai encore bifurqué et pris un chemin de traverse ...
Comme mon message d' erreur était trop petit dans la prévisualisation de Gonta je me suis mis à la modifier avec reshacker

donc , car ça marche , il est possible d' augmenter la taille de la prévisualisation.
J' y retourne , car c' est en désordre et je poste la nouvelle dll
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Timbré!

Messagede Eric le Sam Avr 05, 2008 21:23

La dll modifié en piece jointe
La largeur de la fenetre Gonta fait un peu plus de 800 pixels . En 1024 ç& doit passer ??? ( j' ai 1440 sur un lcd)
votre avis ???
Fichiers joints
gtprog.zip
dll Gonta modifiée .... Grande prévisualisation
(38.84 Ko) Téléchargé 1251 fois
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Timbré!

Messagede gg le Dim Avr 06, 2008 00:55

hé ben, tu ne serais pas du genre à manger un bras quand on te donne un doigt :)

hé, j'en suis encore à essayer de comprendre comment fonctionne ton premier script :) mais ça a l'air d'être une idée qui te plait :), tant mieux...

pour le gonta, c'est excellent sur mon 1024x768, je crois bien que je vais l'adopter, c'est marrant qu'on n'y ait pas songé plus tôt, c'est vachement mieux, on voit enfin ce qu'on fait.
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Timbré!

Messagede gg le Dim Avr 06, 2008 02:02

bien bien bien... j'ai fait quelques essais, je trouve ça très sympa... ça promet un certain nombre de possibilité de "cadre"

en revanche, c'est quoi le dernier code que tu donnes (droite et gauche) ????? parce que si je comprends le principe du if et else et autre (je pratique xl depuis un bon moment :)), que viennent refaire les coordonnées x, y dans ce script... à moins que ce soit juste le principe pour afficher une image, en dehors du script timbre ??. C'est ça ... :shock:


ps: et ouais, ce forum est bien mieux que le précédent... et surtout, je n'ai plus ces put*** de salo*** de mer*** de pomp*** à mer*** de bots qui viennent me faire chi*** 20 fois par jour. :)
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Suivante

Retourner vers Développement de Pixia

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron