Myriad Blog 1.3.0 Saturday, Jul 21st, 2018 at 08:21am 

Friday, Dec 7th, 2012 at 05:03pm
Harmony 9.6 et autres étape 463

 
Pour réaliser l'interface graphique de l'éditeur d'instruments à cordes, nous avions dû développer un jeu de fonctions graphiques de manipulation d'images.
Ces fonctions, plutôt puissantes et pratiques, ne servaient qu'à cette interface, et nous trouvions plutôt dommage de ne pas pouvoir en faire profiter les programmeurs MyrScript.
 
C'est maintenant chose faite. Un nouvel objet, appelé "Surface", permet d'effectuer très rapidement des opérations sur des images. Par exemple, nos premiers tests en MyrScript on donné cela (l'illusion d'optique qui fait pencher le cadre violet vers la gauche n'était pas prévue) :
 

 
en seulement quelques lignes de  
Code:
s=Surface.New("Chat.jpg")
s.Resize(400,400)
s.Rotate(20)
s.Perspective(50,0,0,3000)
s.DropShadow(16,16, 0,0,0, 9,30)
w.GraphContext.DrawSurface(s,20,20,20+s.Width/2,20+s.Height/2)
s.Dispose()

 
Je vous laisse étudier ça ce week-end. Interro Lundi matin pour repérer ceux qui suivent.
by Olivier Guillion
Comments

Comment from Cri-Cri Friday, Dec 7th, 2012 at 05:15pm
Idées en passant...
Tiens, une idée...
 
Pour dessiner les coulés, ce serait pas la solution ?
 
Ouais, bon... j'ai rien dit, je cours me cacher au chaud près du radiateur, comme font tous les cancres  

Comment from bubu42 Friday, Dec 7th, 2012 at 07:25pm
(No subject)
Effectivement le code est très court et les fonctions simples à mettre en oeuvre.
Pour le "s" pas de problème, mais je n'ai pas cpaté le "w" du GraphContext.

Comment from bubu42 Friday, Dec 7th, 2012 at 07:25pm
(No subject)
Effectivement le code est très court et les fonctions simples à mettre en oeuvre.
Pour le "s" pas de problème, mais je n'ai pas capté le "w" du GraphContext.

Comment from Danièl Friday, Dec 7th, 2012 at 08:31pm
Rognage
Et si on veut un gros plan sur la tête du chat on fait:
S.ClipRect(Left,Top,Right,Bottom) ?
Amistats, Danièl.

Comment from Olivier Guillion Saturday, Dec 8th, 2012 at 05:52pm
Anti-sèches pour l'interro
@bubu42
Le "w", c'ést la fenêtre dans laquelle se déroule le test. w.GraphicContext récupère le contexte graphique permettant de réaliser des opérations de tracé dans la fenêtre. J'ai enlevé dans mon extrait les quelques lignes de préparation au début du script : ouverture d'une "textwindow" et redimensionnement d'icelle.
 
@Daniel  
Presque ! C'est s.Crop(left,top,right,bottom)

Comment from Danièl Sunday, Dec 9th, 2012 at 10:09am
Transparence
Bonjour Olivier, d'accord pour 's.Crop', mais pour l'interro de demain j'aurais bien aimé un polycop avec l'ensemble des fonctions graphiques!
On aura aussi s.Transparency(x%) ?
Merci et bravo pour tout le reste. J'ai hâte d'essayer ça sur "Editeur Graphique"
Amistats, Danièl

Comment from Olivier Guillion Monday, Dec 10th, 2012 at 00:19am
Re: Transparence
Il y aura un topo rapide sur les fonctions dans le sujet de l'interro
 
Pour forcer la transparence globale de l'image, c'est s.SetOpacity(x)
Mais il faut noter que la transparence de l'image n'est pas nécessairement uniforme, les fonctions gèrent la couche alpha, donc il peut y avoir des zones opaques, des trous ou des zones semi-transparentes.
 
Ce week-end, j'ai écrit la fonction de traitement des modifications du triplet teinte, saturation, luminosité (HSL). Ce sera intégré à MyrScript lundi.


Most recent first
Oldest first

Top of page
Legal information Last update:  (c) Myriad