afficher une image jpeg sur un canvas

[quote=113767:@Mathieu Fay]Je t’ai déjà répondu sur ton pb :slight_smile:

Tu ne dois pas passer par un

dim p as Picture

Car c’est une variable temporaire qui disparait à la fin de la méthode.[/quote]
Tout à fait vrai, mais la copie dans le Canvas Backdrop reste.

Pas nécessaire dans ce cas spécifique.

Si tu places cette variable dans le Backdrop d’un Canvas (à moins d’un changement dans Xojo que je n’ai pas vu). Dans ce cas, l’image est COPIÉE dans le Backdrop et y reste unless otherwise notice (comme mon changement de langue volontaire).

Pour être clair, je ne comprend pas quel est le problème. Mais, mon projet montre que charger une image (fût-elle jpg) est affichable dans un Canvas.

Il n’y a rien sous le canvas, comme je l’ai expliqu plus haut ,il y a un textArea sur la gauche du canvas qui sert a l’affichage du text.

je ne comprends pas vos propos, soyez plus clair !

Je vois une bande noire de gauche à droite qui va jusqu’à “la lune”.

Même si le canvas est dessous, des choses peuvent se produire.
Moi, je vois une bande noire qui se termine dessous le Canvas contenant la lune.

Il faut regarder l’image attentivement là: http://postimg.org/image/ck1fqly0h/

et pas celle du disque dur local. Il se peut que ce soit l’hébergeur (autre cas) qui ajoute des photos couleurs…

Enfin, si ça marche maintenant…

Emile, il se peut qu’il y avait chevauchement avec la textArea mitoyenne au canvas.

Ah, les images dont vous parlez existent effectivement, elles sont ancres a la capture dcran a mon insu.
Je prsume que a provient de lhbergeur postimage.org, je prvisualise toujours mes posts, et pourtant… ,
J’en suis navr !
Je demande a l’administrateur de supprimer l’image en question, merci Emile de m’en avoir inform.

[quote=113738:@Djamel AIT AMRANE]voila ce que je voulais en image :

A partir de la, paint se charge de faire le reste, créer un ombre afin se simuler la phase de la lune.

Merci a tous pour vos diverses contributions.[/quote]
As-tu envisagé d’utiliser un Canvas unique pour le texte et l’image, ou bien un ControlContainer. J’imagine que pour l’alignement des textes tu dois avoir plusieurs TextArea ou TextField. Non ?

Ah oui, effectivement je viens de tester. Mais il me semble que ce n’était pas vraiment le cas avant. Par contre mon code diffère, Djamel doit avoir une vieille version de Xojo.

dim f as FolderItem dim p as Picture f = SpecialFolder.Desktop.Child("depth.jpg") p = Picture.Open(f) ZeCanvas.Backdrop = p

J’utilise xojo 2014 r1.1, le test d’Emile fonctionne aussi.
Pour l’affichage du text, j’utilise TextArea avec un code un peu alambiqu pour pouvoir respecter le lignes et colonnes.
Au fait, comment effacer le contenu d’un textArea, en Vb6 on utilise objet.Cls, y t 'il un quivalent en xojo ?

2014 R1.1 : Ta version est donc plus rcente que la mienne. Mais c’tait la vieille version de la lecture de fichier image.

ZeTexteArea.text = “”

Par contre, j’utiliserai quand mme la version plus moderne de lecture de fichier. Sinon, un jour, ce sera dclar obsolte et plus reconnu.

Comme c’est une image qui fait partie de l’application et qui est tout le temps prsente. Ce n’est pas vraiment utile de la lire. C’est plus simple de dplacer l’image dans le projet Xojo. Ensuite elle est prsente et utilisable directement dans l’application.

Si cette image est partie intégrante du logiciel, oui.

Par ailleurs, on peut simplifier le code de chargement:

[code]dim f as FolderItem

f = SpecialFolder.Desktop.Child(“depth.jpg”)
ZeCanvas.Backdrop = Picture.Open(f)
[/code]

Tant que j’y suis, le code peut bien marcher (si l’image est là), mais peut pnater si l’image n’existe pas.

Ce code ne fait pas le test. Il faudrait en rajouter un du genre (de mémoire):

If f = Nil Or Not f.Exists Then // Message d’erreur End If

Un test Exception peut aussi être bien…

Je sais que c’est pénible, mais lire la documentation, ça renseigne (si tu sais lire l’anglais):

TextArea.

Bon codage

Emile, j’ai dj consult cette doc, ce qui est plus pnible, c’est que c’est en anglais, mme si je comprends cette langue “lecture /
criture” , a me demande quand mme beaucoup plus de concentration qu’en Franais.
Enfin, c’est grce aux gens de ce Forum que j’arrive a migrer doucement de Vb6 a Xojo.

Meme une fois le programme compil ?
Dans ce cas, il faudra rectifier sans cesse le code source ?
Xojo est bas sur un framework, tout est empaquet lors de la compilation, d’ailleurs il n’a pas besoin en ce qui concerne windows de
ses DLL.

Ce n’est pas a. certains lments du langage commence tre dconseill puis obsolte. Ensuite arrive une version de Xojo qui ne reconnaitra pas la commande. C’est l’application Xojo qui va bloquer sur le source.

Donc une fois ton programme compil : Pas de problme. Tant que tu n’y touches pas : a marchera sans pb.

Par contre dans deux ans, quand tu feras une modification avec une nouvelle version de Xojo, il ne va plus compiler car il prendra a pour une erreur.

Bon, il y a peu de cas de ce type. Seulement quelques lments du langage qui ont commenc a voluer. Ca met du temps.