realbasic-nug.fr
[Top] [All Lists]

Re: dimensionné une image dans un imagewell

To: REALbasic NUG French <realbasic-nug dot fr at lists dot realsoftware dot com>
Subject: Re: dimensionné une image dans un imagewell
From: David Remacle <listes at clampin dot com>
Date: Tue, 02 May 2006 17:24:31 +0200
Delivered-to: realbasic-nug dot fr at lists dot realsoftware dot com
References: <44574491 dot 1030504 at clampin dot com> <75762BC0-0A36-42B8-8E57-D93DB962FE53 at tribu dot ch>
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/


<Prev in Thread] Current Thread [Next in Thread>