> Hi Squeak-Fans!
> > I am new in programming squeak an I have the following problem: > > I want to integrate bitmap-arrays in my project for the images used in it. To get the elements for my bit-map array I used: > > | image stream | > image := ColorForm fromFileNamed: > '/path/to/picture/icon.gif'. > stream := WriteStream with: String new. > image storeOn: stream. > stream contents. > > By inspecting contents I can copy & paste its elements to the corresponding methods for the image. The Problem now is, that some of my images generate more bitmap-code elements than "contents" can display. Do you have an Idea how may copy&paste all the elements of the Stream!? I tried Seaside WAFileLibrary and pasted the generated methods, but WAFileLibrary returns byte-arrays, which can't be interpretet within the squeak form of *Morph. > > So does anybody of you have an Idea and may help me? > > Thanks, > Regards. > >Your last line could become > > Clipboard clipboardText: stream contents > >However, the canonical way would be to simply generate the method rather than doing it manually. Generating a method can be as simple as > > MyClass compile: 'myMethod ^42' > >See, for example, MenuIcons>>importIconNamed:. > >- Bert - Hi Bert & Squeak Community, thanks for your cool tip. I'll try to generate the methods via "class compile". I've tested it and a new problem came up. I did it the same way MenuIcons>>importIconNamed is implemented. The problem now is, that there comes up a error message ("MessageNotUnterstood(Metaclass)>>category") although I've inserted classfied : 'generated methods' and the category is already created and exists. Here the code snippet: generateMethodsForJPG: aString | writer image stream | writer := JPEGReadWriter on: (FileStream fileNamed: aString, '.jpg'). [ image := writer nextImage] ensure: [writer close]. stream := ReadWriteStream on: (String new). stream nextPutAll: aString ; cr. stream nextPutAll: (self methodStart: aString). image storeOn: stream. stream nextPutAll: self methodEnd. MyGraphicLibrary class compile: stream contents classified: 'generated methods' notifying: nil. ^ stream contents MyGraphicLibrary is a subclass of Object. The error comes up at "compile:[...]". Everything before that works fine. Form is created etc. Simply the compilation does not work. Do you have an Idea what the problem could be here ? Thanks for your help! ______________________________________________________ GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! Jetzt freischalten unter http://movieflat.web.de _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
On 23.12.2009, at 03:03, Hans Gruber wrote:
> >> Hi Squeak-Fans! >> >> I am new in programming squeak an I have the following problem: >> >> I want to integrate bitmap-arrays in my project for the images used in it. To get the elements for my bit-map array I used: >> >> | image stream | >> image := ColorForm fromFileNamed: >> '/path/to/picture/icon.gif'. >> stream := WriteStream with: String new. >> image storeOn: stream. >> stream contents. >> >> By inspecting contents I can copy & paste its elements to the corresponding methods for the image. The Problem now is, that some of my images generate more bitmap-code elements than "contents" can display. Do you have an Idea how may copy&paste all the elements of the Stream!? I tried Seaside WAFileLibrary and pasted the generated methods, but WAFileLibrary returns byte-arrays, which can't be interpretet within the squeak form of *Morph. >> >> So does anybody of you have an Idea and may help me? >> >> Thanks, >> Regards. >> > >> Your last line could become >> >> Clipboard clipboardText: stream contents >> >> However, the canonical way would be to simply generate the method rather than doing it manually. Generating a method can be as simple as >> >> MyClass compile: 'myMethod ^42' >> >> See, for example, MenuIcons>>importIconNamed:. >> >> - Bert - > > Hi Bert & Squeak Community, > thanks for your cool tip. I'll try to generate the methods via "class compile". > I've tested it and a new problem came up. I did it the same way MenuIcons>>importIconNamed is implemented. > The problem now is, that there comes up a error message ("MessageNotUnterstood(Metaclass)>>category") although I've inserted classfied : 'generated methods' and the category is already created and exists. > > Here the code snippet: > > generateMethodsForJPG: aString > | writer image stream | > writer := JPEGReadWriter on: (FileStream fileNamed: aString, '.jpg'). > [ image := writer nextImage] > ensure: [writer close]. > stream := ReadWriteStream on: (String new). > stream nextPutAll: aString ; cr. > stream nextPutAll: (self methodStart: aString). > image storeOn: stream. > stream nextPutAll: self methodEnd. > MyGraphicLibrary class compile: stream contents classified: 'generated methods' notifying: nil. > ^ stream contents > > MyGraphicLibrary is a subclass of Object. > The error comes up at "compile:[...]". Everything before that works fine. Form is created etc. Simply the compilation does not work. Should work fine. Please post the full SqueakDebug.log - Bert - _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Free forum by Nabble | Edit this page |