Rien dans les Release Notes de 2006 / 2007.
Quelqu'un utilise-t-il RB 2995 et peut-il vérifier ?
Emile Schwarz a écrit :
Ce n'était pas le cas il y a encore quelques années. Depuis je
n'utilisais que les trois paramètres requis ou la totale (tous les
paramètres).
Je n'ai jamais essayé de redimentionner qu'une partie d'une image,
mais on peut tout faire (je crois) avec tous les paramètres.
Je ne me sens pas bien (fiévreux), donc il est peut-être normal que je
ne comprenne pas.
Cela étant, tu as peut-être raison.
Si je m'en souviens, je devrai faire quelques essais demain.
à +,
Emile
Thierry Nauze a écrit :
On 25 oct. 07, at 15:52, Emile Schwarz wrote:
Je ne comprends pas:
Syntax
Graphics.DrawPicture Image, X, Y, [DestWidth], [DestHeight],
[SourceX], [SourceY], [SourceWidth], [SourceHeight]
Seuls "Image" et x,y sont nécessaires, DestWidth est optionel tout
seul (comme les autres)...
<quote>
Notes
DestWidth and DestHeight are used to change the scaling of the
picture when it is drawn and default to the Width and Height of the
picture. SourceX and SourceY default to 0 and are used to determine
the upper-left coordinate you wish to copy from. SourceWidth and
SourceHeight default to the Width and Height of the picture and are
used to indicate the portion of the picture you wish to copy.
</quote>
Je ne comprends pas l'anglais mais ça doit correspondre à mon exemple
ci-dessous :
Ah, donc il ne manque que quelques crochets...
???
Il y a peut-être que trois options possibles :
Graphics.DrawPicture Image, X, Y,
Graphics.DrawPicture Image, X, Y, DestWidth, DestHeight
Graphics.DrawPicture Image, X, Y, DestWidth, DestHeight, SourceX,
SourceY, SourceWidth, SourceHeight
Peut-être aurait-il fallu écrire comme ça ?
Graphics.DrawPicture Image, X, Y, [ DestWidth, DestHeight, [SourceX,
SourceY, SourceWidth, SourceHeight] ]
C'est comme çà depuis quand ?
Toujours ?
J'ai une image SAGE que je veux éventuellement recadrer pour la
caser dans un CANVAS ...
J'appelle une routine ...
monImageRecadree = reCadre(SAGE , CANVAS.width , CANVAS.height)
if monImageRecadree<>nil then
CANVAS.backdrop=monImageRecadree
else
...
end
et la fonction
Function reCadre(imaze as picture, l as integer, h as integer) As
picture
dim largeur, hauteur as Integer
dim imageRecadree as Picture
dim echelle as double
if imaze.width>l or imaze.height>h then
echelle = max(imaze.width/l,imaze.height/h)
largeur=imaze.width/echelle
hauteur=imaze.height/echelle
imageRecadree=newPicture(largeur,hauteur, Screen(0).Depth)
if imageRecadree<>nil then
imageRecadree.Graphics.DrawPicture
imaze,0,0,largeur,hauteur,0,0,imaze.width,imaze.height
return imageRecadree
else
return nil
end
else
return imaze
end
End Function
Dans cette commande,
imageRecadree.Graphics.DrawPicture
imaze,0,0,largeur,hauteur,0,0,imaze.width,imaze.height
les quatre derniers paramètres sont sûrement inutiles puisque je
demande de recadrer toute l'image.
Ils sont intéressants si tu ne veux prendre qu'une partie de l'image
initiale.
En espérant avoir fait avancer le schmilblick ?
--
Thierry NAUZE Saint-Denis de la Réunion
|