Bitmap-Arrays too large for "contents"

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Bitmap-Arrays too large for "contents"

Hans Gruber
> 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,
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!


___________________________________________________________
Preisknaller: WEB.DE DSL Flatrate für nur 16,99 Euro/mtl.!
http://produkte.web.de/go/02/

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners