Le 2 mai 06 à 13:37 Soir, David Remacle a écrit:
Salut,
Pour un projet de viewer d'image en rb, j'ai donc créé un projet
simple avec une fenêtre, un bouton et un imagewell.
j'ai adapté le code fournis dans le Realbasic developper guide qui
est:
dim f as FolderItem
dim p as Picture
dim maxWidth, maxHeight as Integer
dim factor as Double
maxWidth = ImageWell1.Width
maxHeight = ImageWell1.Height
f=GetOpenFolderItem("imagejpg;Imagegif")
if f <> nil then
p = f.OpenAsPicture
end if
factor = min( maxHeight / p.Width, maxHeight / p.Height)
factor = min( factor, 1.0) // don't scale it up if it's too small
pic = NewPicture(p.Width * factor, p.Height * factor, 32)
pic.graphics.drawpicture p, 0,0,pic.width,pic.Height, 0,0,
p.width, p.Height
ImageWell1.refresh
et je constate un truc "pic" n'est déclaré nulle part...
ne serait-il pas plus simple de reprendre "p"?
merci de m'expliquer si je suis dans le bon chemin de réflexion.
Tout-à-fait. Le truc, c'est que réutiliser une variable sur la même
ligne peut être déroutant pour les novices (ce à quoi une revue doit
prendre en compte).
Peut-être que "pic* est simplement définie en tant que propriété ou a
été négligée. C'est simple, il vous suffit de la déclarer en tant
qu'image (picture), ou, justement, de reprendre "p".
De même, il faudrait ajouter:
ImageWell1.image=p
car il n'y a rien qui change l'image actuellement affichée.
|