Arnaud Nicolet a écrit :
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.
Bon, j'ai un peu revu mon code
Alors donc voilà j'ai déclaré une properties pic as picture
Entre temps j'ai ajouté un canvas dans mon imageWell..
Dans mon bouton pour aller chercher une image j'ai donc ceci
dim f as FolderItem
dim p as Picture
dim maxWidth, maxHeight as Integer
dim factor as Double
maxWidth = Canvas1.Width
maxHeight = Canvas1.Height
f=GetOpenFolderItem("Image/jpeg;image/gif")
if f <> nil then
p = f.OpenAsPicture
factor = min( maxWidth / 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
Canvas1.refresh
window1.title ="Image View " + f.name
end if
Dans le paint du canvas :
if pic <> nil then
g.DrawPicture pic,0,0
end if
Là, ou le preblème survient, c'est lorsque l'on appuye sur annuler dans
la boite de dialogue d'ouverture des images : j'ai un beau nilobject qui
arrive....
comment corriger cela ? (en fait je me remet a fond dans RB et j'ai peut
être perdu beaucoup de notions de base, c'est pour cela que j'ai pris ce
programme pour me remettre dans le bain RB)
--
David Remacle
http://www.clampin.com/
|