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: Arnaud Nicolet <arnaud at tribu dot ch>
Date: Tue, 2 May 2006 13:47:04 +0200
Delivered-to: realbasic-nug dot fr at lists dot realsoftware dot com
References: <44574491 dot 1030504 at clampin dot com>
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.

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