Come faccio a caricare una foto (immagine) in smalltalk
-
02-10-2019 - |
Domanda
Come si fa a caricare un'immagine in Smalltalk? Ho trovato diversi esempi di come visualizzare un'immagine una volta che è una risorsa di classe, ma non riesco a trovare un modo per importare l'immagine nel mio ambiente Smalltalk. (Io uso l'immagine parola per evitare confusione con l'immagine Smalltalk)
Soluzione
Per caricare un'immagine come una risorsa di classe, il seguente codice dovrebbe essere eseguito nello spazio di lavoro.
ImageReader imageFromFile: 'picture.bmp'
toClass: Namespace.MyClass selector: #AccessMethod
dove 'Picture.bmp' è il file di immagine che si desidera caricare, NameSpace.MyClass è la classe che si desidera che il file sia una risorsa per, AccessMethod è il nome del metodo chiamato per restituire l'immagine.
Altri suggerimenti
Una possibilità per Squeak potrebbe essere:
HandMorph attach: (SketchMorph fromStream:
'https://squeak.org/img/features/morphic.png'
asUrl retrieveContents contentStream).
(Questa utilizzato per lavoro per Pharo, anche, ma sembra essere stato rimosso.)
Questo ha funzionato per me in Pharo 7.0:
ImageReadWriter formFromStream: './assets/player.png' asFileReference binaryReadStream
In seguito può essere trasformato con asMorph
.
(ZnEasy getPng: 'http://pharo.org/web/files/pharo.png')
asMorph openInWindow